[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: sysbus usb xhci
From: |
Sai Pavan Boddu |
Subject: |
RE: sysbus usb xhci |
Date: |
Fri, 17 Jan 2020 15:46:53 +0000 |
Hi Gred/Philippe,
@Philippe Mathieu-Daudé, thanks I found the alternative "ldq_le_dma".
Moving forward, for testing the new model. I ran through
qtest:usb-hcd-xhci-test.c, are there any other test which I need to consider as
first level validation ?
Regards,
Sai Pavan
> -----Original Message-----
> From: Philippe Mathieu-Daudé <address@hidden>
> Sent: Wednesday, January 8, 2020 9:21 PM
> To: Sai Pavan Boddu <address@hidden>; address@hidden
> Cc: address@hidden; address@hidden
> Subject: Re: sysbus usb xhci
>
> On 1/8/20 4:32 PM, Sai Pavan Boddu wrote:
> > Hi Gred/Philippe,
> >
> > In the process of making hcd-xhci.c free of pci wrapper, I came across a
> dma command " ldq_le_pci_dma" for which I don’t see any low level
> alternative to replace.
> > Even I cannot find the source of it, do you have any thoughts on this ?
>
> Isn't it ldq_le_phys()?
>
> I think you want to extract the address space first in a common method.
> See in sdhci_pci_realize():
>
> s->dma_as = pci_get_address_space(dev);
>
> And in sdhci_sysbus_realize():
>
> if (s->dma_mr) {
> s->dma_as = &s->sysbus_dma_as;
> address_space_init(s->dma_as, s->dma_mr, "sdhci-dma");
> } else {
> /* use system_memory() if property "dma" not set */
> s->dma_as = &address_space_memory;
> }
>
> >> -----Original Message-----
> >> From: Sai Pavan Boddu
> >> Sent: Friday, January 3, 2020 10:44 AM
> >> To: Philippe Mathieu-Daudé <address@hidden>; address@hidden
> >> Cc: address@hidden; address@hidden
> >> Subject: RE: sysbus usb xhci
> >>
> >> Thanks Philippe & Gred. I would start with the below pointers.
> >>
> >> Regards,
> >> Sai Pavan
> >>
> >>> -----Original Message-----
> >>> From: Philippe Mathieu-Daudé <address@hidden>
> >>> Sent: Thursday, January 2, 2020 4:56 PM
> >>> To: address@hidden; Sai Pavan Boddu <address@hidden>
> >>> Cc: address@hidden; address@hidden
> >>> Subject: Re: sysbus usb xhci
> >>>
> >>> On 1/2/20 10:45 AM, address@hidden wrote:
> >>>> On Thu, Jan 02, 2020 at 07:13:25AM +0000, Sai Pavan Boddu wrote:
> >>>>> Hi Gred,
> >>>>>
> >>>>> We are seeing of options to reuse the hcd-xhci model and use it
> >>>>> over system bus interface rather than pci. (for Xilinx ZynqMP SOC,
> >>>>> usb
> >>> emulation) Are there any plans of implementing a sysbus device ? if
> >>> none it would be good if provided few pointers to start.
> >>>>
> >>>> There have been some discussions about this for a (IIRC) sbsa
> >>>> machine, but I'm not sure whenever that where just ideas or some
> >>>> code
> >> exists.
> >>>>
> >>>>> Im looking at hcd-ehci/ochi as a reference, let me know if there
> >>>>> are any
> >>> know limitations for this usecase.
> >>>>
> >>>> Yep, the path for xhci would be quite simliar: Create a new
> >>>> XHCIPciState struct, move over all pci-specific bits from
> >>>> XHCIState, leaving the generic stuff in XHCIState for sharing with
> sysbus.
> >>>> Possibly move all pci-specific code bits into a new source file
> >>>> (for cleanup, will also allow to build qemu with CONFIG_PCI=n and
> >>>> still have XHCI enabled).
> >>>>
> >>>> Once this separation is done you should be able to create a sysbus
> >>>> device, reusing the generic xhci code and adding sysbus plumbing
> >>>> (mmio, irq, ...)
> >>>
> >>> The SDHCI commits b635d98cf32..8b7455c75e seem similar to what you
> >>> want to achieve (see also commit ce8646034).
> >