Re: [PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-09-20 Thread Bjorn Helgaas
On Thu, Sep 13, 2018 at 04:05:54PM +0100, Lorenzo Pieralisi wrote: > On Wed, Aug 29, 2018 at 11:04:08AM +0800, Jisheng Zhang wrote: > > When programming inbound/outbound atu, we call usleep_range() after > > each checking PCIE_ATU_ENABLE bit. Unfortunately, the atu programming > > can be called in

Re: [PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-09-20 Thread Bjorn Helgaas
On Thu, Sep 13, 2018 at 04:05:54PM +0100, Lorenzo Pieralisi wrote: > On Wed, Aug 29, 2018 at 11:04:08AM +0800, Jisheng Zhang wrote: > > When programming inbound/outbound atu, we call usleep_range() after > > each checking PCIE_ATU_ENABLE bit. Unfortunately, the atu programming > > can be called in

Re: [PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-09-13 Thread Lorenzo Pieralisi
On Wed, Aug 29, 2018 at 11:04:08AM +0800, Jisheng Zhang wrote: > When programming inbound/outbound atu, we call usleep_range() after > each checking PCIE_ATU_ENABLE bit. Unfortunately, the atu programming > can be called in atomic context: > > inbound atu programming could be called through >

Re: [PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-09-13 Thread Lorenzo Pieralisi
On Wed, Aug 29, 2018 at 11:04:08AM +0800, Jisheng Zhang wrote: > When programming inbound/outbound atu, we call usleep_range() after > each checking PCIE_ATU_ENABLE bit. Unfortunately, the atu programming > can be called in atomic context: > > inbound atu programming could be called through >

Re: [PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-09-13 Thread Lorenzo Pieralisi
On Thu, Sep 13, 2018 at 06:29:54PM +0800, Jisheng Zhang wrote: > Hi Lorenzo, > > On Thu, 13 Sep 2018 10:15:34 +0100 Lorenzo Pieralisi wrote: > > > On Mon, Sep 10, 2018 at 04:57:22PM +0800, Jisheng Zhang wrote: > > > Hi all, > > > > > > On Wed, 29 Aug 2018 11:04:08 +0800 Jisheng Zhang wrote: > >

Re: [PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-09-13 Thread Lorenzo Pieralisi
On Thu, Sep 13, 2018 at 06:29:54PM +0800, Jisheng Zhang wrote: > Hi Lorenzo, > > On Thu, 13 Sep 2018 10:15:34 +0100 Lorenzo Pieralisi wrote: > > > On Mon, Sep 10, 2018 at 04:57:22PM +0800, Jisheng Zhang wrote: > > > Hi all, > > > > > > On Wed, 29 Aug 2018 11:04:08 +0800 Jisheng Zhang wrote: > >

Re: [PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-09-13 Thread Jisheng Zhang
Hi Lorenzo, On Thu, 13 Sep 2018 10:15:34 +0100 Lorenzo Pieralisi wrote: > On Mon, Sep 10, 2018 at 04:57:22PM +0800, Jisheng Zhang wrote: > > Hi all, > > > > On Wed, 29 Aug 2018 11:04:08 +0800 Jisheng Zhang wrote: > > > > > When programming inbound/outbound atu, we call usleep_range() after >

Re: [PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-09-13 Thread Jisheng Zhang
Hi Lorenzo, On Thu, 13 Sep 2018 10:15:34 +0100 Lorenzo Pieralisi wrote: > On Mon, Sep 10, 2018 at 04:57:22PM +0800, Jisheng Zhang wrote: > > Hi all, > > > > On Wed, 29 Aug 2018 11:04:08 +0800 Jisheng Zhang wrote: > > > > > When programming inbound/outbound atu, we call usleep_range() after >

Re: [PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-09-13 Thread Lorenzo Pieralisi
On Mon, Sep 10, 2018 at 04:57:22PM +0800, Jisheng Zhang wrote: > Hi all, > > On Wed, 29 Aug 2018 11:04:08 +0800 Jisheng Zhang wrote: > > > When programming inbound/outbound atu, we call usleep_range() after > > each checking PCIE_ATU_ENABLE bit. Unfortunately, the atu programming > > can be

Re: [PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-09-13 Thread Lorenzo Pieralisi
On Mon, Sep 10, 2018 at 04:57:22PM +0800, Jisheng Zhang wrote: > Hi all, > > On Wed, 29 Aug 2018 11:04:08 +0800 Jisheng Zhang wrote: > > > When programming inbound/outbound atu, we call usleep_range() after > > each checking PCIE_ATU_ENABLE bit. Unfortunately, the atu programming > > can be

Re: [PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-09-10 Thread Jisheng Zhang
Hi all, On Wed, 29 Aug 2018 11:04:08 +0800 Jisheng Zhang wrote: > When programming inbound/outbound atu, we call usleep_range() after > each checking PCIE_ATU_ENABLE bit. Unfortunately, the atu programming > can be called in atomic context: > > inbound atu programming could be called through >

Re: [PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-09-10 Thread Jisheng Zhang
Hi all, On Wed, 29 Aug 2018 11:04:08 +0800 Jisheng Zhang wrote: > When programming inbound/outbound atu, we call usleep_range() after > each checking PCIE_ATU_ENABLE bit. Unfortunately, the atu programming > can be called in atomic context: > > inbound atu programming could be called through >

[PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-08-28 Thread Jisheng Zhang
When programming inbound/outbound atu, we call usleep_range() after each checking PCIE_ATU_ENABLE bit. Unfortunately, the atu programming can be called in atomic context: inbound atu programming could be called through pci_epc_write_header() =>dw_pcie_ep_write_header()

[PATCH v3] PCI: dwc: fix scheduling while atomic issues

2018-08-28 Thread Jisheng Zhang
When programming inbound/outbound atu, we call usleep_range() after each checking PCIE_ATU_ENABLE bit. Unfortunately, the atu programming can be called in atomic context: inbound atu programming could be called through pci_epc_write_header() =>dw_pcie_ep_write_header()