lkml.org 
[lkml]   [2022]   [Aug]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [RFC PATCH v2 2/6] bus/cdx: add the cdx bus driver
    From
    On 2022-08-30 08:06, Gupta, Nipun wrote:
    > [AMD Official Use Only - General]
    >
    >
    >
    >> -----Original Message-----
    >> From: Jason Gunthorpe <jgg@nvidia.com>
    >> Sent: Monday, August 29, 2022 9:02 PM
    >> To: Gupta, Nipun <Nipun.Gupta@amd.com>
    >> Cc: Robin Murphy <robin.murphy@arm.com>; Saravana Kannan
    >> <saravanak@google.com>; Greg KH <gregkh@linuxfoundation.org>;
    >> robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org; rafael@kernel.org;
    >> eric.auger@redhat.com; alex.williamson@redhat.com; cohuck@redhat.com;
    >> Gupta, Puneet (DCG-ENG) <puneet.gupta@amd.com>;
    >> song.bao.hua@hisilicon.com; mchehab+huawei@kernel.org;
    >> maz@kernel.org; f.fainelli@gmail.com; jeffrey.l.hugo@gmail.com;
    >> Michael.Srba@seznam.cz; mani@kernel.org; yishaih@nvidia.com; linux-
    >> kernel@vger.kernel.org; devicetree@vger.kernel.org; kvm@vger.kernel.org;
    >> okaya@kernel.org; Anand, Harpreet <harpreet.anand@amd.com>; Agarwal,
    >> Nikhil <nikhil.agarwal@amd.com>; Simek, Michal <michal.simek@amd.com>;
    >> git (AMD-Xilinx) <git@amd.com>
    >> Subject: Re: [RFC PATCH v2 2/6] bus/cdx: add the cdx bus driver
    >>
    >> [CAUTION: External Email]
    >>
    >> On Mon, Aug 29, 2022 at 04:49:02AM +0000, Gupta, Nipun wrote:
    >>
    >>> Devices are created in FPFGA with a CDX wrapper, and CDX
    >> controller(firmware)
    >>> reads that CDX wrapper to find out new devices. Host driver then interacts
    >> with
    >>> firmware to find newly discovered devices. This bus aligns with PCI
    >> infrastructure.
    >>> It happens to be an embedded interface as opposed to off-chip
    >> connection.
    >>
    >> Why do you need an FW in all of this?
    >>
    >> And why do you need DT at all?
    >
    > We need DT to describe the CDX controller only, similar to
    > how PCI controller is described in DT. PCI devices are
    > never enumerated in DT. All children are to be dynamically
    > discovered.
    >
    > Children devices do not require DT as they will be discovered
    > by the bus driver.
    >
    > Like PCI controller talks to PCI device over PCI spec defined channel,
    > we need CDX controller to talk to CDX device over a custom
    > defined (FW managed) channel.

    OK, thanks for clarifying - it actually sounds quite cool :)

    I think it's clear now that this should be a a full-fledged bus
    implementation. Note that if the CDX interface provides a way to query
    arbitrary properties beyond standard resources then you may well also
    want your own fwnode type to hook into the device_property APIs too.
    Yes, it then means a bit more work adapting individual drivers too, but
    that should be far cleaner in the long run, and there's already plenty
    of precedent for IPs which exist with multiple standard interfaces for
    PCI/USB/SDIO/platform MMIO/etc.

    Plus it means that if CDX ever makes its way into PCIe-attached FPGA
    cards which can be used on non-OF systems, you've not painted yourself
    into a corner.

    Thanks,
    Robin.

    \
     
     \ /
      Last update: 2022-08-30 13:27    [W:2.133 / U:0.240 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site