lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 24 Oct 2023 09:18:59 -0700
From:   Lizhi Hou <lizhi.hou@....com>
To:     Arnd Bergmann <arnd@...db.de>, Arnd Bergmann <arnd@...nel.org>,
        "Martin Tuma" <martin.tuma@...iteqautomotive.com>,
        Mauro Carvalho Chehab <mchehab@...nel.org>,
        Hans Verkuil <hverkuil-cisco@...all.nl>,
        <dmaengine@...r.kernel.org>, Brian Xu <brian.xu@....com>,
        Raj Kumar Rampelli <raj.kumar.rampelli@....com>,
        Vinod Koul <vkoul@...nel.org>
CC:     <linux-media@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/2] media: pci: mgb4: remove bogus 'select' statements


On 10/24/23 06:27, Arnd Bergmann wrote:
> On Mon, Oct 23, 2023, at 18:05, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd@...db.de>
>>
>> As this is just a regular device driver, it has no business force-enabling
>> other drivers in the system, it should be entirely independent of the
>> implementation of the spi-nor layer or the specific DMA engine.
>>
>> The IIO symbols that are selected here are library modules that
>> are legitimately used.
>>
>> Fixes: 0ab13674a9bd ("media: pci: mgb4: Added Digiteq Automotive MGB4 driver")
>> Signed-off-by: Arnd Bergmann <arnd@...db.de>
>> ---
>>   drivers/media/pci/mgb4/Kconfig | 4 ----
>>   1 file changed, 4 deletions(-)
>>
>> diff --git a/drivers/media/pci/mgb4/Kconfig b/drivers/media/pci/mgb4/Kconfig
>> index f2a05a1c8ffa..b90347c7f19b 100644
>> --- a/drivers/media/pci/mgb4/Kconfig
>> +++ b/drivers/media/pci/mgb4/Kconfig
>> @@ -6,10 +6,6 @@ config VIDEO_MGB4
>>   	select VIDEOBUF2_DMA_SG
>>   	select IIO_BUFFER
>>   	select IIO_TRIGGERED_BUFFER
>> -	select I2C_XILINX
>> -	select SPI_XILINX
>> -	select MTD_SPI_NOR
>> -	select XILINX_XDMA
> Apparently, the XDMA reference was in fact needed, as MGB4
> calls some exported symbols from that particular dmaengine
> driver:
>
> aarch64-linux-ld: drivers/media/pci/mgb4/mgb4_core.o: in function `init_i2c': mgb4_core.c:(.text+0x3ec): undefined reference to `xdma_get_user_irq'
> aarch64-linux-ld: mgb4_core.c:(.text+0x404): undefined reference to `xdma_enable_user_irq'
>
> I couldn't easily figure out what a 'user_irq' is here,
> but I wonder if this is the expected way to use the DMA engine
> layer. Maybe this should have been a nested irqchip instead,
> or it should be encoded in the DMA request specifier?

Hi Arnd,

Here is a brief description of 'user_irq' and 'xdma_enable_user_irq'

The XDMA subsystem is used in conjunction with the PCIe IP block. Please 
see https://lwn.net/Articles/911496/ for the overall information.

XDMA can forward PCIe msi-x interrupt to/from user logic hardware (e.g. 
Digiteq device) which is connected to its user irq pin.  And XDMA has a 
register to enable/disabe interrupt forwarding for a specific user irq pin.

'xdma_enable_user_irq' and 'xdma_disable_user_irq' are provided for 
hardware driver which is designed to use XDMA to enable/disable its 
interrupt. And based on the previous discussion with Mark, Digiteq 
device does not use its own register to enable/disable interrupt but 
relies on XDMA.  Please see 
https://lore.kernel.org/lkml/daccee4a-ac3c-bfc1-4876-24e6ecf5bcf1@gpxsee.org/

Thanks,

Lizhi

>
>       Arnd

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ