linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: sricharan@codeaurora.org (Sricharan)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V3 0/8] IOMMU probe deferral support
Date: Mon, 24 Oct 2016 18:00:46 +0530	[thread overview]
Message-ID: <004c01d22df2$7586f4c0$6094de40$@codeaurora.org> (raw)
In-Reply-To: <b9e4e81f-3b3e-951f-df62-d640275aae71@samsung.com>

Hi Marek,

>>>> Initial post from Laurent Pinchart[1]. This is
>>>> series calls the dma ops configuration for the devices
>>>> at a generic place so that it works for all busses.
>>>> The dma_configure_ops for a device is now called during
>>>> the device_attach callback just before the probe of the
>>>> bus/driver is called. Similarly dma_deconfigure is called during
>>>> device/driver_detach path.
>>>>
>>>>
>>>> pci_bus_add_devices    (platform/amba)(_device_create/driver_register)
>>>>          |                         |
>>>> pci_bus_add_device     (device_add/driver_register)
>>>>          |                         |
>>>> device_attach           device_initial_probe
>>>>          |                         |
>>>> __device_attach_driver    __device_attach_driver
>>>>          |
>>>> driver_probe_device
>>>>          |
>>>> really_probe
>>>>          |
>>>> dma_configure
>>>>
>>>>    Similarly on the device/driver_unregister path __device_release_driver is
>>>>    called which inturn calls dma_deconfigure.
>>>>
>>>>    If the ACPI bus code follows the same, we can add acpi_dma_configure
>>>>    at the same place as of_dma_configure.
>>>>
>>>>    This series is based on the recently merged Generic DT bindings for
>>>>    PCI IOMMUs and ARM SMMU from Robin Murphy robin.murphy at arm.com [2]
>>>>
>>>>    This time tested this with platform and pci device for probe deferral
>>>>    and reprobe on arm64 based platform. There is an issue on the cleanup
>>>>    path for arm64 though, where there is WARN_ON if the dma_ops is reset while
>>>>    device is attached to an domain in arch_teardown_dma_ops.
>>>>    But with iommu_groups created from the iommu driver, the device is always
>>>>    attached to a domain/default_domain. So so the WARN has to be removed/handled
>>>>    probably.
>>> Thanks for continuing work on this feature! Your can add my:
>>>
>>> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
>>>
>>    Thanks for testing this. So the for the below fix, the remove_device callback
>>    gets called on the dma_ops cleanup path, so would it be easy to remove the
>>    data for the device there ?
>
>I assumed that IOMMU driver cannot be removed reliably, so all
>structures that it
>creates are permanent. I didn't use device_add()/device_remove()
>callbacks, because
>in current implementation device_add() is called too late (after
>dma-mapping glue
>triggers device_attach_iommu()).
>
>Maybe once your patchset is merged, I will move creation and management
>of the all
>IOMMU related structures to device_add/remove callbacks.
>
    ok understand it.

Regards,
Sricharan

  reply	other threads:[~2016-10-24 12:30 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20161004170414eucas1p141bebe16e1bf241862833e7ad0270c72@eucas1p1.samsung.com>
2016-10-04 17:03 ` [PATCH V3 0/8] IOMMU probe deferral support Sricharan R
2016-10-04 17:03   ` [PATCH V3 1/8] arm: dma-mapping: Don't override dma_ops in arch_setup_dma_ops() Sricharan R
2016-10-04 17:03   ` [PATCH V3 2/8] of: dma: Move range size workaround to of_dma_get_range() Sricharan R
2016-10-04 17:03   ` [PATCH V3 3/8] of: dma: Make of_dma_deconfigure() public Sricharan R
2016-10-04 17:03   ` [PATCH V3 4/8] drivers: platform: Configure dma operations at probe time Sricharan R
2016-10-26 14:07     ` Robin Murphy
2016-10-26 15:04       ` Sricharan
2016-10-27 10:49         ` Lorenzo Pieralisi
2016-11-02  7:05           ` Sricharan
2016-10-04 17:03   ` [PATCH V3 5/8] iommu: of: Handle IOMMU lookup failure with deferred probing or error Sricharan R
2016-10-26 14:52     ` Robin Murphy
2016-10-27  2:55       ` Sricharan
2016-10-04 17:03   ` [PATCH V3 6/8] arm: dma-mapping: Reset the device's dma_ops Sricharan R
2016-10-26 15:07     ` Robin Murphy
2016-10-27  3:37       ` Sricharan
2017-05-23 16:25         ` Russell King - ARM Linux
2017-05-23 16:55           ` Robin Murphy
2017-05-23 17:53             ` Russell King - ARM Linux
2017-05-23 21:46               ` Laurent Pinchart
2017-05-23 22:42                 ` Russell King - ARM Linux
2017-05-24 10:31                   ` Sricharan R
2017-05-24 11:26                     ` Laurent Pinchart
2017-05-24 11:38                       ` Sricharan R
2017-05-25 15:05                       ` Russell King - ARM Linux
2017-05-26  5:18                         ` Sricharan R
2017-05-26 14:04                         ` Laurent Pinchart
2016-10-04 17:03   ` [PATCH V3 7/8] arm/arm64: dma-mapping: Call iommu's remove_device callback during device detach Sricharan R
2016-10-26 15:16     ` Robin Murphy
2016-10-27  5:16       ` Sricharan
2016-10-04 17:03   ` [PATCH V3 8/8] arm64: dma-mapping: Remove the notifier trick to handle early setting of dma_ops Sricharan R
2016-10-07 15:40     ` Sricharan
2016-10-26 15:34     ` Robin Murphy
2016-10-27  5:19       ` Sricharan
2016-10-10 12:36   ` [PATCH V3 0/8] IOMMU probe deferral support Marek Szyprowski
2016-10-12  6:24     ` Sricharan
2016-10-24  6:34       ` Marek Szyprowski
2016-10-24 12:30         ` Sricharan [this message]
2016-10-17  6:58     ` Sricharan
2016-10-17  7:02     ` Sricharan
2016-10-25  6:25   ` Archit Taneja
2016-10-25 14:35   ` Robin Murphy
2016-10-26 14:44     ` Sricharan
2016-10-26 17:14       ` Robin Murphy
2016-10-27  8:37         ` Sricharan
2016-11-03 22:25         ` Sricharan
2016-11-04 15:16         ` Sricharan
2016-11-07 19:13           ` Will Deacon
2016-11-07 19:22           ` Robin Murphy
2016-11-09  6:24             ` Sricharan
2016-11-09 16:59               ` Will Deacon
2016-11-14  3:41             ` Sricharan
2016-11-20 15:11             ` Sricharan
2016-11-23 19:54               ` Robin Murphy
2016-11-24 16:10                 ` Sricharan
2016-11-24 19:11                   ` Robin Murphy
2016-11-28 17:42                     ` Sricharan
2016-11-28 18:13                       ` Lorenzo Pieralisi
2016-11-30  0:34                         ` Sricharan
2016-11-30 12:07                           ` Lorenzo Pieralisi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='004c01d22df2$7586f4c0$6094de40$@codeaurora.org' \
    --to=sricharan@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).