[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1065611: Additional support for SolidRun HoneyComb



Hi Diederik,

I believe I found the answer:
EDAC_MPC85XX is for power-pc only,
EDAC_LAYERSCAPE is for arm (see drivers/edac/layerscape_edac.c).

br
Josua

Am 12.03.24 um 16:13 schrieb Josua Mayer:
> Hi Diederik,
>
> Thank you for taking care of this!
> First the additional changes you found seem reasonable.
>
> Regarding edac - I checked NXPs reference BSP for LX2160,
> and their linux fork has the same status, driver can not be enabled on arm64.
>
> However I also agree it should be enabled if it were possible.
> The driver appears to setup ecc bit error interrupts so that hey can be reported by Linux.
>
> Here is what other qoriq drivers do:
> drivers/crypto/caam/Kconfig:    depends on FSL_SOC || ARCH_MXC || ARCH_LAYERSCAPE
>
> I may have access to an lx2160a system with ecc memory within the coming week,
> so I could test (on vendor kernel based on 5.10 only) whether any problems show up.
> If not, perhaps a patch to the kernel is advisable.
>
> Am 07.03.24 um 13:34 schrieb Diederik de Haas:
>
>> Hi Josua,
>>
>> On Thursday, 18 January 2024 17:40:38 CET Josua Mayer wrote:
>>> LX2160 SoC early silicon revisions have a pci-e generation 4 controller.
>>> It requires a different driver from newer gen-3 silicon.
>>>
>>> This affects the SolidRun Honeycomb Workstation which
>>> is otherwise fully supported in Debian.
>> I cloned bug report #1061116 into #1065611 to discuss some additional support 
>> for the SolidRun HoneyComb.
>>
>> I analyzed the HoneyComb dts file and the following included .dtsi files:
>> - arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi
>> - arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
>> - arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
>>
>> If I exclude the kernel modules from 1061116 and 1061117, then I still have 
>> the following list of additional modules to enable:
>> - drivers/edac: Enable EDAC_MPC85XX
>> - drivers/hwmon/pmbus: Enable PMBUS, SENSORS_PMBUS and
>>   SENSORS_LTC2978 as modules
>> - drivers/nvmem: Enable NVMEM_LAYERSCAPE_SFP as module
>> - drivers/rtc: Enable RTC_DRV_FSL_FTM_ALARM as module
>> - drivers/soc/fsl: Enable FSL_RCPM
>>
>> If you agree that this is a good list I can make a MR to get them enabled.
>> A MR for 1061116 and 1061117 has just been merged in our 'master' branch.
>>
>> But I ran into an issue when looking at the ``EDAC_MPC85XX`` stanza 
>> in``drivers/edac/Kconfig``:
>> ``depends on FSL_SOC && EDAC=y``
>>
>> But ``FSL_SOC`` is (only) defined in ``arch/powerpc/Kconfig``, which means 
>> ``EDAC_MPC85XX`` can not be enabled on ``arm64``. 
>> That module was found based on ``compatible = "fsl,qoriq-memory-controller"``, 
>> which sounds like something you would want to have.
>>
>> Upstream commit ea2eb9a8b6207ee4 has the following commit message:
>> ```
>>     EDAC, fsl-ddr: Separate FSL DDR driver from MPC85xx
>>     
>>     The mpc85xx-compatible DDR controllers are used on ARM-based SoCs too.
>>     Carve out the DDR part from the mpc85xx EDAC driver in preparation to
>>     support both architectures.
>> ```
>> Which I interpret as all (?) the preparations for supporting both powerpc and 
>> ARM were made, but they forgot to update the strict dependency of 
>> ``EDAC_MPC85XX`` to powerpc to actually support both architectures?
>>
>> Can you shed some light on this?
>>
>> Cheers,
>>   Diederik

Reply to: