mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 19:08:57 +09:00
def9222acedf91fee7f3b2dbcd01f0d53331df7e
Revert this commit as it wasn't reliably work as expected by massive test. The problem is clear now that cxpl_debug_info from DWC core is missing rdlh_link_up. So reading PCIE_PORT_DEBUG1 and check smlh_link_up isn't enough. Quoted from DWC databook, section 8.2.3 AXI Bridge Initialization, Clocking and Reset: "In RC Mode, your AXI application must not generate any MEM or I/O requests, until the host software has enabled the Memory Space Enable (MSE), and IO Space Enable (ISE) bits respectively. Your RC application should not generate CFG requests until it has confirmed that the link is up by sampling the smlh_link_up and rdlh_link_up outputs." The problem was introduced by commit 1 and fixed by commit 2 but not to the end. And finally commit 3 rename the register but not fix anything. It was broken from the first time. Any dwc controller should be use the buggy default method to check link up state. So revert this commit to use our own link_up hook. The timing is drving smlh_link_up->L0->rdlh_link_up-> FC init(a fixed delay) from IC simulation. So the origin code is working. What we were trying to fix is the link suddenly broke after link was already up. However, it could happen anytime, even just after passing dw_pcie_link_up check. So it's function drivers responsibility to check 0xffffffff return value to be aware of the link broken state and do a proper retry or recovery. [1]. commitdac29e6c54("PCI: designware: Add default link up check if sub-driver doesn't override") [2]. commit01c076732e("PCI: designware: Check LTSSM training bit before deciding link is up") [3]. commit60ef4b072b("PCI: dwc: imx6: Share PHY debug register definitions") This reverts commita095b98601. Change-Id: I2104e5fe00ac3be921f6dc1185ad3ce34e01d1bc Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Merge tag 'mm-hotfixes-stable-2022-12-10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
…
…
Linux kernel
============
There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.
In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``. The formatted documentation can also be read online at:
https://www.kernel.org/doc/html/latest/
There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
Description
Languages
C
97.7%
Assembly
1.6%
Makefile
0.3%
Perl
0.1%