<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in retimer.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>ad79c278 - thunderbolt: Do not add non-active NVM if NVM upgrade is disabled for retimer</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#ad79c278</link>
        <description>thunderbolt: Do not add non-active NVM if NVM upgrade is disabled for retimerThis is only used to write a new NVM in order to upgrade the retimerfirmware. It does not make sense to expose it if upgrade is disabled.This also makes it consistent with the router NVM upgrade.Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Wed, 05 Mar 2025 12:56:20 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>f1e8bf56 - driver core: Constify API device_find_child() and adapt for various usages</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#f1e8bf56</link>
        <description>driver core: Constify API device_find_child() and adapt for various usagesConstify the following API:struct device *device_find_child(struct device *dev, void *data,		int (*match)(struct device *dev, void *data));To :struct device *device_find_child(struct device *dev, const void *data,                                 device_match_t match);typedef int (*device_match_t)(struct device *dev, const void *data);with the following reasons:- Protect caller&apos;s match data @*data which is for comparison and lookup  and the API does not actually need to modify @*data.- Make the API&apos;s parameters (@match)() and @data have the same type as  all of other device finding APIs (bus|class|driver)_find_device().- All kinds of existing device match functions can be directly taken  as the API&apos;s argument, they were exported by driver core.Constify the API and adapt for various existing usages.BTW, various subsystem changes are squashed into this commit to meet&apos;git bisect&apos; requirement, and this commit has the minimal and simplestchanges to complement squashing shortcoming, and that may bring extracode improvement.Reviewed-by: Alison Schofield &lt;alison.schofield@intel.com&gt;Reviewed-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;Acked-by: Uwe Kleine-K&#246;nig &lt;ukleinek@kernel.org&gt; # for drivers/pwmSigned-off-by: Zijun Hu &lt;quic_zijuhu@quicinc.com&gt;Reviewed-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;Reviewed-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;Link: https://lore.kernel.org/r/20241224-const_dfc_done-v5-4-6623037414d4@quicinc.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Tue, 24 Dec 2024 13:05:03 +0000</pubDate>
        <dc:creator>Zijun Hu &lt;quic_zijuhu@quicinc.com&gt;</dc:creator>
    </item>
<item>
        <title>e34f1717 - thunderbolt: Don&apos;t display nvm_version unless upgrade supported</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#e34f1717</link>
        <description>thunderbolt: Don&apos;t display nvm_version unless upgrade supportedThe read will never succeed if NVM wasn&apos;t initialized due to an unknownformat.Add a new callback for visibility to only show when supported.Cc: stable@vger.kernel.orgFixes: aef9c693e7e5 (&quot;thunderbolt: Move vendor specific NVM handling into nvm.c&quot;)Reported-by: Richard Hughes &lt;hughsient@gmail.com&gt;Closes: https://github.com/fwupd/fwupd/issues/8200Signed-off-by: Mario Limonciello &lt;mario.limonciello@amd.com&gt;Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Mon, 09 Dec 2024 16:25:51 +0000</pubDate>
        <dc:creator>Mario Limonciello &lt;mario.limonciello@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>bf791751 - thunderbolt: Add only on-board retimers when !CONFIG_USB4_DEBUGFS_MARGINING</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#bf791751</link>
        <description>thunderbolt: Add only on-board retimers when !CONFIG_USB4_DEBUGFS_MARGININGNormally there is no need to enumerate retimers on the other side of thecable. This is only needed in special cases where user wants to runreceiver lane margining against the downstream facing port of a retimer.Furthermore this might confuse the userspace tools such as fwupd becauseit cannot read the information it expects from these retimers.Fix this by changing the retimer enumeration code to add only on-boardretimers when CONFIG_USB4_DEBUGFS_MARGINING is not enabled.Reported-by: AceLan Kao &lt;acelan.kao@canonical.com&gt;Tested-by: AceLan Kao &lt;acelan.kao@canonical.com&gt;Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219420Cc: stable@vger.kernel.orgFixes: ff6ab055e070 (&quot;thunderbolt: Add receiver lane margining support for retimers&quot;)Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Thu, 24 Oct 2024 09:26:53 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>e9e1b20f - thunderbolt: Fix KASAN reported stack out-of-bounds read in tb_retimer_scan()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#e9e1b20f</link>
        <description>thunderbolt: Fix KASAN reported stack out-of-bounds read in tb_retimer_scan()KASAN reported following issue: BUG: KASAN: stack-out-of-bounds in tb_retimer_scan+0xffe/0x1550 [thunderbolt] Read of size 4 at addr ffff88810111fc1c by task kworker/u56:0/11 CPU: 0 UID: 0 PID: 11 Comm: kworker/u56:0 Tainted: G     U             6.11.0+ #1387 Tainted: [U]=USER Workqueue: thunderbolt0 tb_handle_hotplug [thunderbolt] Call Trace:  &lt;TASK&gt;  dump_stack_lvl+0x6c/0x90  print_report+0xd1/0x630  kasan_report+0xdb/0x110  __asan_report_load4_noabort+0x14/0x20  tb_retimer_scan+0xffe/0x1550 [thunderbolt]  tb_scan_port+0xa6f/0x2060 [thunderbolt]  tb_handle_hotplug+0x17b1/0x3080 [thunderbolt]  process_one_work+0x626/0x1100  worker_thread+0x6c8/0xfa0  kthread+0x2c8/0x3a0  ret_from_fork+0x3a/0x80  ret_from_fork_asm+0x1a/0x30This happens because the loop variable still gets incremented by one somax becomes 3 instead of 2, and this makes the second loop read past thethe array declared on the stack.Fix this by assigning to max directly in the loop body.Fixes: ff6ab055e070 (&quot;thunderbolt: Add receiver lane margining support for retimers&quot;)CC: stable@vger.kernel.orgSigned-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Wed, 25 Sep 2024 09:59:20 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>ff6ab055 - thunderbolt: Add receiver lane margining support for retimers</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#ff6ab055</link>
        <description>thunderbolt: Add receiver lane margining support for retimersRetimers support lane margining as well so make this available throughdebugfs in the same way as we do for the USB4 ports. When this isenabled we also expose retimers on the other side of the cable becausetypically margining is implemented only on direction towards the cable.However, for the retimers on the other side of the cable we do not allowNVM upgrade to avoid confusing the existing userspace (the same retimermay now appear twice with different name) and is probably not a goodidea anyway.Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Tue, 21 Mar 2023 09:40:49 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>6d241fa0 - thunderbolt: Add sideband register access to debugfs</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#6d241fa0</link>
        <description>thunderbolt: Add sideband register access to debugfsThis makes it possible to read and write USB4 port and retimer sidebandregisters through debugfs which is useful for debugging and manufacturingpurposes. We add &quot;sb_regs&quot; debugfs attribute under each USB4 port andretimer that is used to access the sideband.Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Mon, 20 Mar 2023 11:50:44 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>e8241f66 - thunderbolt: Make usb4_port_sb_read/write() available outside of usb4.c</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#e8241f66</link>
        <description>thunderbolt: Make usb4_port_sb_read/write() available outside of usb4.cWe need to call these from other files too so make them availableoutside of usb4.c.Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Tue, 16 Apr 2024 06:41:14 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>d4d336f8 - thunderbolt: No need to loop over all retimers if access fails</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#d4d336f8</link>
        <description>thunderbolt: No need to loop over all retimers if access failsWhen we read the NVM authentication status or unsetting the inbound SBTXthere is no point to continue the loop after first access to a retimerfails because there won&apos;t be any more retimers after this anyway so bailout from the loops early.Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Fri, 05 Apr 2024 04:47:40 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>b8a73083 - thunderbolt: Constify the struct device_type usage</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#b8a73083</link>
        <description>thunderbolt: Constify the struct device_type usageSince commit aed65af1cc2f (&quot;drivers: make device_type const&quot;), the drivercore can properly handle constant struct device_type. Move thetb_domain_type, tb_retimer_type, tb_switch_type, usb4_port_device_type,tb_service_type and tb_xdomain_type variables to be constant structures aswell, placing it into read-only memory which can not be modified atruntime.Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Signed-off-by: Ricardo B. Marliere &lt;ricardo@marliere.net&gt;Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Mon, 19 Feb 2024 12:45:50 +0000</pubDate>
        <dc:creator>Ricardo B. Marliere &lt;ricardo@marliere.net&gt;</dc:creator>
    </item>
<item>
        <title>d80d926c - thunderbolt: Log NVM version of routers and retimers</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#d80d926c</link>
        <description>thunderbolt: Log NVM version of routers and retimersThis is useful when debugging possible issues.Signed-off-by: Gil Fine &lt;gil.fine@linux.intel.com&gt;Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Wed, 20 Sep 2023 09:13:11 +0000</pubDate>
        <dc:creator>Gil Fine &lt;gil.fine@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>87200371 - thunderbolt: Enable/disable sideband depending on USB4 port offline mode</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#87200371</link>
        <description>thunderbolt: Enable/disable sideband depending on USB4 port offline modeWhen USB4 port is in offline mode (this mean there is no deviceattached) we want to keep the sideband up to make it possible tocommunicate with the retimers. In the same way there is no need toenable sideband transactions when the USB4 port is not offline as theyare already up.For this reason make the enabling/disabling depend on the USB4 portoffline status.Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Fri, 26 May 2023 11:55:20 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>b7b83911 - thunderbolt: Do not send UNSET_INBOUND_SBTX when retimer NVM authentication started</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#b7b83911</link>
        <description>thunderbolt: Do not send UNSET_INBOUND_SBTX when retimer NVM authentication startedOnce retimer NVM authentication is started, sending UNSET_INBOUND_SBTXwill fail so avoid doing that. Only send it when we are writing an imagewith not authentication or when the authentication failed early.Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Fri, 26 May 2023 11:51:23 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>1402ba08 - thunderbolt: Read retimer NVM authentication status prior tb_retimer_set_inbound_sbtx()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#1402ba08</link>
        <description>thunderbolt: Read retimer NVM authentication status prior tb_retimer_set_inbound_sbtx()According to the USB4 retimer guide the correct order is immediatelyafter sending ENUMERATE_RETIMERS so update the code to follow this.Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Fri, 26 May 2023 11:46:44 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>f1138fda - thunderbolt: Drop retimer vendor check</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#f1138fda</link>
        <description>thunderbolt: Drop retimer vendor checkThis is not needed anymore as we already handle unknown vendor in NVMfunctions.Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Fri, 24 Mar 2023 16:30:00 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>cd0c1e58 - thunderbolt: Add missing UNSET_INBOUND_SBTX for retimer access</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#cd0c1e58</link>
        <description>thunderbolt: Add missing UNSET_INBOUND_SBTX for retimer accessAccording to USB4 retimer specification, the process of firmware updatesequence requires issuing a SET_INBOUND_SBTX port operation that latershall be followed by UNSET_INBOUND_SBTX port operation. This last stepis not currently issued by the driver but it is necessary to make surethe retimers are put back to passthrough mode even during enumeration.If this step is missing the link may not come up properly aftersoft-reboot for example.For this reason issue UNSET_INBOUND_SBTX after SET_INBOUND_SBTX forenumeration and also when the NVM upgrade is run.Reported-by: Christian Schaubschl&#228;ger &lt;christian.schaubschlaeger@gmx.at&gt;Link: https://lore.kernel.org/linux-usb/b556f5ed-5ee8-9990-9910-afd60db93310@gmx.at/Cc: stable@vger.kernel.orgSigned-off-by: Gil Fine &lt;gil.fine@linux.intel.com&gt;Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Thu, 02 Mar 2023 22:17:24 +0000</pubDate>
        <dc:creator>Gil Fine &lt;gil.fine@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>23257cfc - thunderbolt: Do not call PM runtime functions in tb_retimer_scan()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#23257cfc</link>
        <description>thunderbolt: Do not call PM runtime functions in tb_retimer_scan()We cannot call PM runtime functions in tb_retimer_scan() because it willalso be called when retimers are scanned from userspace (happens whenthere is no device connected on ChromeOS for instance) and at the sameUSB4 port runtime resume hook. This leads to hang because neither canproceed.Fix this by runtime resuming USB4 ports in tb_scan_port() instead. Thismakes sure the ports are runtime PM active when retimers are added underit while avoiding the reported hang as well.Reported-by: Utkarsh Patel &lt;utkarsh.h.patel@intel.com&gt;Fixes: 1e56c88adecc (&quot;thunderbolt: Runtime resume USB4 port when retimers are scanned&quot;)Cc: stable@vger.kernel.orgAcked-by: Yehezkel Bernat &lt;YehezkelShB@gmail.com&gt;Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Thu, 29 Dec 2022 12:10:30 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>c28f3d80 - thunderbolt: Do not report errors if on-board retimers are found</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#c28f3d80</link>
        <description>thunderbolt: Do not report errors if on-board retimers are foundCurrently we return an error even if on-board retimers are found andthat&apos;s not expected. Fix this to return an error only if there was oneand 0 otherwise.Fixes: 1e56c88adecc (&quot;thunderbolt: Runtime resume USB4 port when retimers are scanned&quot;)Cc: stable@vger.kernel.orgSigned-off-by: Utkarsh Patel &lt;utkarsh.h.patel@intel.com&gt;Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Fri, 23 Dec 2022 04:22:46 +0000</pubDate>
        <dc:creator>Utkarsh Patel &lt;utkarsh.h.patel@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>8283fb57 - thunderbolt: Convert to use sysfs_emit()/sysfs_emit_at() APIs</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#8283fb57</link>
        <description>thunderbolt: Convert to use sysfs_emit()/sysfs_emit_at() APIsFollow the advice of the Documentation/filesystems/sysfs.rst and show()should only use sysfs_emit() or sysfs_emit_at() when formatting the valueto be returned to user space.While at it, use Elvis operator in some cases.Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Thu, 22 Sep 2022 14:32:39 +0000</pubDate>
        <dc:creator>Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>aef9c693 - thunderbolt: Move vendor specific NVM handling into nvm.c</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/thunderbolt/retimer.c#aef9c693</link>
        <description>thunderbolt: Move vendor specific NVM handling into nvm.cAs there will be more USB4 devices that support NVM firmware upgrade fromvarious vendors, it makes sense to split out the Intel specific NVMimage handling from the generic code. This moves the Intel specific NVMhandling into a new structure that will be matched by the device typeand the vendor ID. Do this for both routers and retimers.This makes it easier to extend the NVM support to cover new vendors andNVM image formats in the future.Signed-off-by: Szuying Chen &lt;Chloe_Chen@asmedia.com.tw&gt;Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/thunderbolt/retimer.c</description>
        <pubDate>Fri, 02 Sep 2022 09:40:08 +0000</pubDate>
        <dc:creator>Szuying Chen &lt;Chloe_Chen@asmedia.com.tw&gt;</dc:creator>
    </item>
</channel>
</rss>
