From: Frank Li
Add msi-map for pci-ep device.
Acked-by: Manivannan Sadhasivam
Signed-off-by: Frank Li
---
change in v20
- add Manivannan's ACK
change from v14 to v16
- none
change from v13 to v14
- new patch
---
arch/arm64/boot/dts/freescale/imx95.dtsi | 1 +
1 file changed, 1 inse
From: Frank Li
Add LUT entry for Endpoint mode by calling imx_pcie_add_lut_by_rid(0),
since only one physical function is supported. This sets up a single LUT
entry required for MSI or IOMMU.
The Endpoint function can operate without LUT if neither IOMMU nor MSI is
used. This LUT setup enables
From: Frank Li
Add three registers: doorbell_bar, doorbell_addr, and doorbell_data. Use
pci_epf_alloc_doorbell() to allocate a doorbell address space.
Enable the Root Complex (RC) side driver to trigger pci-epc-test's doorbell
callback handler by writing doorbell_data to the m
From: Frank Li
Add three registers: PCIE_ENDPOINT_TEST_DB_BAR, PCIE_ENDPOINT_TEST_DB_ADDR,
and PCIE_ENDPOINT_TEST_DB_DATA.
Trigger the doorbell by writing data from PCI_ENDPOINT_TEST_DB_DATA to the
address provided by PCI_ENDPOINT_TEST_DB_OFFSET and wait for endpoint
feedback.
Add two command
From: Frank Li
Add doorbell test case.
Signed-off-by: Frank Li
---
change in v20
- update document
change from v14 to v16
- Add set IRQ type
change from v13 to v14
- merge to selftests framework
---
Documentation/PCI/endpoint/pci-test-howto.rst | 14 +++
.../selftests
From: Frank Li
Introduce the helper function pci_epf_align_inbound_addr() to adjust
addresses according to PCI BAR alignment requirements, converting addresses
into base and offset values.
Signed-off-by: Frank Li
---
Changes in v21
- align to bar size
Changes in V20
- update function kdoc
From: Frank Li
Add helper function imx_pcie_add_lut_by_rid(), which will be used for MSI
doorbell support in endpoint mode in the future. No functional change.
Signed-off-by: Frank Li
---
- change in v20
- update commit message.
change from v14 to v16
- none
change from v13 to v14
- new
From: Frank Li
Some MSI controller change address/data pair when irq_set_affinity().
Current PCI endpoint can't support this type MSI controller. Call
irq_domain_is_msi_immutable() check if address/data pair immutable.
Also ensure it is parent MSI domains, not device-specific MSI domains,
From: Frank Li
Doorbell feature is implemented by mapping the EP's MSI interrupt
controller message address to a dedicated BAR in the EPC core. It is the
responsibility of the EPF driver to pass the actual message data to be
written by the host to the doorbell BAR region through its own
│ ││
││ │ │ ││
││ │ │ ││
└┘ └───┘ └┘
This patches based on old
https://lore.kernel.org/imx/20221124055036.1630573-1-frank...@nxp.com/
Original patch only target to vntb driver. But actually it is common
method.
This patches add new API to pci-epf-core, so any EP driver can use it.
Previous v2 discussion here.
https
On Thu, Jul 10, 2025 at 01:40:25PM +0200, Niklas Cassel wrote:
> Hello Frank,
>
> I tested v20 of your series, but unfortunately, it still doesn't work.
>
> When enabling the doorbell, the programming of the inbound iATU fails:
>
> ## pci_epf_test_enable_doorbell()
> #
From: Frank Li
Add doorbell test case.
Signed-off-by: Frank Li
---
change in v20
- update document
change from v14 to v16
- Add set IRQ type
change from v13 to v14
- merge to selftests framework
---
Documentation/PCI/endpoint/pci-test-howto.rst | 14 +++
.../selftests
From: Frank Li
Some MSI controller change address/data pair when irq_set_affinity().
Current PCI endpoint can't support this type MSI controller. Call
irq_domain_is_msi_immutable() check if address/data pair immutable.
Also ensure it is parent MSI domains, not device-specific MSI domains,
From: Frank Li
Add msi-map for pci-ep device.
Acked-by: Manivannan Sadhasivam
Signed-off-by: Frank Li
---
change in v20
- add Manivannan's ACK
change from v14 to v16
- none
change from v13 to v14
- new patch
---
arch/arm64/boot/dts/freescale/imx95.dtsi | 1 +
1 file changed, 1 inse
From: Frank Li
Add three registers: PCIE_ENDPOINT_TEST_DB_BAR, PCIE_ENDPOINT_TEST_DB_ADDR,
and PCIE_ENDPOINT_TEST_DB_DATA.
Trigger the doorbell by writing data from PCI_ENDPOINT_TEST_DB_DATA to the
address provided by PCI_ENDPOINT_TEST_DB_OFFSET and wait for endpoint
feedback.
Add two command
From: Frank Li
Add three registers: doorbell_bar, doorbell_addr, and doorbell_data. Use
pci_epf_alloc_doorbell() to allocate a doorbell address space.
Enable the Root Complex (RC) side driver to trigger pci-epc-test's doorbell
callback handler by writing doorbell_data to the m
From: Frank Li
Add LUT entry for Endpoint mode by calling imx_pcie_add_lut_by_rid(0),
since only one physical function is supported. This sets up a single LUT
entry required for MSI or IOMMU.
The Endpoint function can operate without LUT if neither IOMMU nor MSI is
used. This LUT setup enables
From: Frank Li
Introduce the helper function pci_epf_align_inbound_addr() to adjust
addresses according to PCI BAR alignment requirements, converting addresses
into base and offset values.
Signed-off-by: Frank Li
---
Changes in V20
- update function kdoc comments.
- 128 come from
From: Frank Li
Add helper function imx_pcie_add_lut_by_rid(), which will be used for MSI
doorbell support in endpoint mode in the future. No functional change.
Signed-off-by: Frank Li
---
- change in v20
- update commit message.
change from v14 to v16
- none
change from v13 to v14
- new
From: Frank Li
Doorbell feature is implemented by mapping the EP's MSI interrupt
controller message address to a dedicated BAR in the EPC core. It is the
responsibility of the EPF driver to pass the actual message data to be
written by the host to the doorbell BAR region through its own
│ ││
││ │ │ ││
││ │ │ ││
└┘ └───┘ └┘
This patches based on old
https://lore.kernel.org/imx/20221124055036.1630573-1-frank...@nxp.com/
Original patch only target to vntb driver. But actually it is common
method.
This patches add new API to pci-epf-core, so any EP driver can use it.
Previous v2 discussion here.
https
On Tue, Jul 08, 2025 at 04:51:55PM +0530, Manivannan Sadhasivam wrote:
> On Mon, Jul 07, 2025 at 12:41:22PM GMT, Frank Li wrote:
> > On Wed, Jul 02, 2025 at 11:19:36AM -0400, Frank Li wrote:
> > > On Wed, Jul 02, 2025 at 08:25:17PM +0530, Manivannan Sadhasivam wrote:
> >
On Wed, Jul 02, 2025 at 11:19:36AM -0400, Frank Li wrote:
> On Wed, Jul 02, 2025 at 08:25:17PM +0530, Manivannan Sadhasivam wrote:
> > On Wed, Jul 02, 2025 at 10:40:53AM GMT, Frank Li wrote:
> > > On Wed, Jul 02, 2025 at 04:30:48PM +0530, Manivannan Sadhasivam wrote:
> >
On Wed, Jul 02, 2025 at 11:19:36AM -0400, Frank Li wrote:
> On Wed, Jul 02, 2025 at 08:25:17PM +0530, Manivannan Sadhasivam wrote:
> > On Wed, Jul 02, 2025 at 10:40:53AM GMT, Frank Li wrote:
> > > On Wed, Jul 02, 2025 at 04:30:48PM +0530, Manivannan Sadhasivam wrote:
> >
On Wed, Jul 02, 2025 at 08:25:17PM +0530, Manivannan Sadhasivam wrote:
> On Wed, Jul 02, 2025 at 10:40:53AM GMT, Frank Li wrote:
> > On Wed, Jul 02, 2025 at 04:30:48PM +0530, Manivannan Sadhasivam wrote:
> > > On Mon, Jun 09, 2025 at 12:34:13PM GMT, Frank Li wrote:
> &
On Wed, Jul 02, 2025 at 06:52:01PM +0530, Manivannan Sadhasivam wrote:
> On Mon, Jun 09, 2025 at 12:34:21PM GMT, Frank Li wrote:
> > Support only one physical function, so call imx_pcie_add_lut_by_rid(0)
> > to add a single LUT entry when operating in EP mode.
> >
>
> S
On Wed, Jul 02, 2025 at 05:00:23PM +0530, Manivannan Sadhasivam wrote:
> On Mon, Jun 09, 2025 at 12:34:15PM GMT, Frank Li wrote:
> > Some MSI controller change address/data pair when irq_set_affinity().
> > Current PCI endpoint can't support this type
On Wed, Jul 02, 2025 at 04:30:48PM +0530, Manivannan Sadhasivam wrote:
> On Mon, Jun 09, 2025 at 12:34:13PM GMT, Frank Li wrote:
> > Set device ID as 'vfunc_no << 3 | func_no' and use
> > 'device_set_of_node_from_dev()' to set 'of_node' the same a
= "tx", "rx", "rxdb";
> + mboxes = <&mu7 0 1>,
> + <&mu7 1 1>,
> + <&mu7 3 1>;
> + memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>,
> + <&vdev1vring0>, <&vdev1vring1>, <&rsc_table>;
> + };
> +};
> +
> +&mu7 {
> + status = "okay";
> };
can you keep &mu7 as order, at least it should be after &enetc_port0
Frank
>
> &enetc_port0 {
>
> --
> 2.37.1
>
On Wed, Jun 25, 2025 at 10:23:30AM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan
>
> Add SCMI LMM/CPU nodes which is for remoteproc to handle remote cores.
>
> Signed-off-by: Peng Fan
Reviewed-by: Frank Li
> ---
> arch/arm64/boot/dts/freescale/imx95.dtsi | 8
gned-off-by: Peng Fan
> ---
Reviewed-by: Frank Li
> drivers/remoteproc/imx_rproc.c | 25 +
> 1 file changed, 25 insertions(+)
>
> diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c
> index
>
Use SCMI_IMX_LMM_POWER_ON to detect whether
>the M7 LM is under control of A55 LM.
>
> Current setup relies on pre-Linux software(U-Boot) to do
> M7 TCM ECC initialization. In future, we could add the support in Linux
> to decouple U-Boot and Linux.
>
> Reviewed-by: Dan
On Wed, Jun 25, 2025 at 10:23:27AM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan
>
> Add compatible string for the Cortex-M7 core in i.MX95
>
> Signed-off-by: Peng Fan
Reviewed-by: Frank Li
> ---
> Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml | 1 +
Add msi-map for pci-ep device.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- new patch
---
arch/arm64/boot/dts/freescale/imx95.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi
b/arch/arm64/boot/dts/freescale
Support only one physical function, so call imx_pcie_add_lut_by_rid(0)
to add a single LUT entry when operating in EP mode.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- new patch
---
drivers/pci/controller/dwc/pci-imx6.c | 8 +++-
1 file changed, 7
Add helper function imx_pcie_add_lut_by_rid(), which will be used for
Endpoint mode in the future. No functional change.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- new patch
---
drivers/pci/controller/dwc/pci-imx6.c | 17 ++---
1 file changed
Add doorbell test case.
Signed-off-by: Frank Li
---
change from v14 to v16
- Add set IRQ type
change from v13 to v14
- merge to selftests framework
---
.../selftests/pci_endpoint/pci_endpoint_test.c | 28 ++
1 file changed, 28 insertions(+)
diff --git a/tools/testing
pci_endpoint_test -f pcie_ep_doorbell' return
success.
If EP side doesn't support MSI, the same to 'F'.
F: 'pci_endpoint_test -f pcie_ep_doorbell' return failure, other case as
usual.
Tested-by: Niklas Cassel
Signed-off-by: Frank Li
---
change from v15 to v16
- use le32
case as
usual.
Tested-by: Niklas Cassel
Signed-off-by: Frank Li
---
change from v14 to v16
- none
Change from v13 to v14
- update to use pci_endpoint_test -f pcie_ep_doorbell
- change ioctrl id to fix conflict
Change from v9 to v13
- none
Change from v8 to v9
- change PCITEST_DOORBELL to 0xa
Cha
Introduce the helper function pci_epf_align_inbound_addr() to adjust
addresses according to PCI BAR alignment requirements, converting addresses
into base and offset values.
Signed-off-by: Frank Li
---
Change from v15 to v16
- none
Change from v14 to v15
- change out address type to dma_addr_t
Some MSI controller change address/data pair when irq_set_affinity().
Current PCI endpoint can't support this type MSI controller. Call
irq_domain_is_msi_immutable() check if address/data pair immutable.
Signed-off-by: Frank Li
---
change in v18
- update commit message. remove 'inc
iklas Cassel
Signed-off-by: Frank Li
---
Change from v15 to v16
- fix rebase conflict
Change from v14 to v15
- check CONFIG_GENERIC_MSI
Fix below build error
| Reported-by: kernel test robot
| Closes:
https://lore.kernel.org/oe-kbuild-all/202502082204.6prr3cfg-...@intel.com/
All errors (new
hem. Setting the ID and 'of_node' prepares for
proper support.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
new patch
---
drivers/pci/endpoint/pci-epf-core.c | 4
include/linux/pci-epf.h | 2 ++
2 files changed, 6 insertions(+)
diff --gi
│ ││
││ │ │ ││
││ │ │ ││
└┘ └───┘ └┘
This patches based on old
https://lore.kernel.org/imx/20221124055036.1630573-1-frank...@nxp.com/
Original patch only target to vntb driver. But actually it is common
method.
This patches add new API to pci-epf-core, so any EP driver can use it.
Previous v2 discussion here.
https
On Mon, Apr 14, 2025 at 02:30:54PM -0400, Frank Li wrote:
Marc Zyngier:
Do you have additional comments for this version?
Frank Li
│ ││
││ │ │ ││
││ │ │ ││
└┘ └───┘ └┘
This patches based on old
https://lore.kernel.org/imx/20221124055036.1630573-1-frank...@nxp.com/
Original patch only target to vntb driver. But actually it is common
method.
This patches add new API to pci-epf-core, so any EP driver can use it.
Previous v2 discussion here.
https
Add msi-map for pci-ep device.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- new patch
---
arch/arm64/boot/dts/freescale/imx95.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi
b/arch/arm64/boot/dts/freescale
iklas Cassel
Signed-off-by: Frank Li
---
Change from v15 to v16
- fix rebase conflict
Change from v14 to v15
- check CONFIG_GENERIC_MSI
Fix below build error
| Reported-by: kernel test robot
| Closes:
https://lore.kernel.org/oe-kbuild-all/202502082204.6prr3cfg-...@intel.com/
All errors (new
Add doorbell test case.
Signed-off-by: Frank Li
---
change from v14 to v16
- Add set IRQ type
change from v13 to v14
- merge to selftests framework
---
.../selftests/pci_endpoint/pci_endpoint_test.c | 28 ++
1 file changed, 28 insertions(+)
diff --git a/tools/testing
Support only one physical function, so call imx_pcie_add_lut_by_rid(0)
to add a single LUT entry when operating in EP mode.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- new patch
---
drivers/pci/controller/dwc/pci-imx6.c | 8 +++-
1 file changed, 7
systems and is therefore not
a reliable identifier.
Signed-off-by: Frank Li
---
Change from v17 to v18
- mask max value should 0x7
- order according to property name
Change from v16 to v17
- new patch
---
Documentation/devicetree/bindings/pci/pci-ep.yaml | 68 +++
1 file
Add helper function imx_pcie_add_lut_by_rid(), which will be used for
Endpoint mode in the future. No functional change.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- new patch
---
drivers/pci/controller/dwc/pci-imx6.c | 17 ++---
1 file changed
Introduce the helper function pci_epf_align_inbound_addr() to adjust
addresses according to PCI BAR alignment requirements, converting addresses
into base and offset values.
Signed-off-by: Frank Li
---
Change from v15 to v16
- none
Change from v14 to v15
- change out address type to dma_addr_t
case as
usual.
Tested-by: Niklas Cassel
Signed-off-by: Frank Li
---
change from v14 to v16
- none
Change from v13 to v14
- update to use pci_endpoint_test -f pcie_ep_doorbell
- change ioctrl id to fix conflict
Change from v9 to v13
- none
Change from v8 to v9
- change PCITEST_DOORBELL to 0xa
Cha
pci_endpoint_test -f pcie_ep_doorbell' return
success.
If EP side doesn't support MSI, the same to 'F'.
F: 'pci_endpoint_test -f pcie_ep_doorbell' return failure, other case as
usual.
Tested-by: Niklas Cassel
Signed-off-by: Frank Li
---
change from v15 to v16
- use le32
Some MSI controller change address/data pair when irq_set_affinity().
Current PCI endpoint can't support this type MSI controller. So add flag
MSI_FLAG_MUTABLE in include/linux/msi.h and check it when allocate
doorbell.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from
hem. Setting the ID and 'of_node' prepares for
proper support.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
new patch
---
drivers/pci/endpoint/pci-epf-core.c | 4
include/linux/pci-epf.h | 2 ++
2 files changed, 6 insertions(+)
diff --gi
^^^ 0xc is implement defined sideband information,
which append to AXI write transaction.
^ 0 is function index.
msi-mask = <0x7>
}
Check msi-map if msi-parent missed to keep compatility with existed system.
Signed-off-by
the PCIe Root Complex (RC) side.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v12
- roll back to v12 version because Marc Zyngier have concern about add
DOMAIN_BUS_DEVICE_PCI_EP_MSI.
https://lore.kernel.org/imx/861pxfq315.wl-...@kernel.org/
change from v11 to v12
remain unchanged after setup. Use this
function to verify if the MSI controller is immutable.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- Roll back to v12 version because Marc Zyngier have concern about add
DOMAIN_BUS_DEVICE_PCI_EP_MSI.
https://lore.kernel.org
: Marc Zyngier
Signed-off-by: Frank Li
---
Change from v14 to v16
- use Marc Zyngier's suggested commit message
- Add Marc Zyngier's ack tag
change from v14 to v15
- none
change from v13 to v14
- bring back from v9 and remove fixup and cc stable before it is new use
case.
---
dr
^^^ 0xc is implement defined sideband information,
which append to AXI write transaction.
^ 0 is function index.
msi-mask = <0x7>
}
Check msi-map if msi-parent missed to keep compatility with existed system.
Signed-off-by
│ ││
││ │ │ ││
││ │ │ ││
└┘ └───┘ └┘
This patches based on old
https://lore.kernel.org/imx/20221124055036.1630573-1-frank...@nxp.com/
Original patch only target to vntb driver. But actually it is common
method.
This patches add new API to pci-epf-core, so any EP driver can use it.
Previous v2 discussion here.
https
Add helper function imx_pcie_add_lut_by_rid(), which will be used for
Endpoint mode in the future. No functional change.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- new patch
---
drivers/pci/controller/dwc/pci-imx6.c | 17 ++---
1 file changed
Add msi-map for pci-ep device.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- new patch
---
arch/arm64/boot/dts/freescale/imx95.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi
b/arch/arm64/boot/dts/freescale
: Marc Zyngier
Signed-off-by: Frank Li
---
Change from v14 to v16
- use Marc Zyngier's suggested commit message
- Add Marc Zyngier's ack tag
change from v14 to v15
- none
change from v13 to v14
- bring back from v9 and remove fixup and cc stable before it is new use
case.
---
dr
iklas Cassel
Signed-off-by: Frank Li
---
Change from v15 to v16
- fix rebase conflict
Change from v14 to v15
- check CONFIG_GENERIC_MSI
Fix below build error
| Reported-by: kernel test robot
| Closes:
https://lore.kernel.org/oe-kbuild-all/202502082204.6prr3cfg-...@intel.com/
All errors (new
Introduce the helper function pci_epf_align_inbound_addr() to adjust
addresses according to PCI BAR alignment requirements, converting addresses
into base and offset values.
Signed-off-by: Frank Li
---
Change from v15 to v16
- none
Change from v14 to v15
- change out address type to dma_addr_t
Add doorbell test case.
Signed-off-by: Frank Li
---
change from v14 to v16
- Add set IRQ type
change from v13 to v14
- merge to selftests framework
---
.../selftests/pci_endpoint/pci_endpoint_test.c | 28 ++
1 file changed, 28 insertions(+)
diff --git a/tools/testing
Some MSI controller change address/data pair when irq_set_affinity().
Current PCI endpoint can't support this type MSI controller. So add flag
MSI_FLAG_MUTABLE in include/linux/msi.h and check it when allocate
doorbell.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from
case as
usual.
Tested-by: Niklas Cassel
Signed-off-by: Frank Li
---
change from v14 to v16
- none
Change from v13 to v14
- update to use pci_endpoint_test -f pcie_ep_doorbell
- change ioctrl id to fix conflict
Change from v9 to v13
- none
Change from v8 to v9
- change PCITEST_DOORBELL to 0xa
Cha
hem. Setting the ID and 'of_node' prepares for
proper support.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
new patch
---
drivers/pci/endpoint/pci-epf-core.c | 4
include/linux/pci-epf.h | 2 ++
2 files changed, 6 insertions(+)
diff --gi
pci_endpoint_test -f pcie_ep_doorbell' return
success.
If EP side doesn't support MSI, the same to 'F'.
F: 'pci_endpoint_test -f pcie_ep_doorbell' return failure, other case as
usual.
Tested-by: Niklas Cassel
Signed-off-by: Frank Li
---
change from v15 to v16
- use le32
Support only one physical function, so call imx_pcie_add_lut_by_rid(0)
to add a single LUT entry when operating in EP mode.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- new patch
---
drivers/pci/controller/dwc/pci-imx6.c | 8 +++-
1 file changed, 7
systems and is therefore not
a reliable identifier.
Signed-off-by: Frank Li
---
Change from v16 to v17
- new patch
---
Documentation/devicetree/bindings/pci/pci-ep.yaml | 67 +++
1 file changed, 67 insertions(+)
diff --git a/Documentation/devicetree/bindings/pci/pci-ep.yaml
b
the PCIe Root Complex (RC) side.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v12
- roll back to v12 version because Marc Zyngier have concern about add
DOMAIN_BUS_DEVICE_PCI_EP_MSI.
https://lore.kernel.org/imx/861pxfq315.wl-...@kernel.org/
change from v11 to v12
remain unchanged after setup. Use this
function to verify if the MSI controller is immutable.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- Roll back to v12 version because Marc Zyngier have concern about add
DOMAIN_BUS_DEVICE_PCI_EP_MSI.
https://lore.kernel.org
queue_add_split
> virtqueue_add_inbuf
> rpmsg_recv_done
> vring_interrupt
> rproc_vq_interrupt
> imx_rproc_vq_work
> process_one_work
> worker_thread
> kthread
> ret_from_fork
>
> Signed-off-by: Peng Fan
Reviewed-by: Frank Li
> ---
> drivers/remoteproc/
On Fri, Apr 04, 2025 at 03:11:40PM -0500, Rob Herring wrote:
> On Fri, Apr 04, 2025 at 03:01:05PM -0400, Frank Li wrote:
> > Document the use of msi-map for PCI Endpoint (EP) controllers, which can
> > use MSI as a doorbell mechanism. Each EP controller can support up to 8
> &g
Add msi-map for pci-ep device.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- new patch
---
arch/arm64/boot/dts/freescale/imx95.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi
b/arch/arm64/boot/dts/freescale
Add helper function imx_pcie_add_lut_by_rid(), which will be used for
Endpoint mode in the future. No functional change.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- new patch
---
drivers/pci/controller/dwc/pci-imx6.c | 17 ++---
1 file changed
Support only one physical function, so call imx_pcie_add_lut_by_rid(0)
to add a single LUT entry when operating in EP mode.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- new patch
---
drivers/pci/controller/dwc/pci-imx6.c | 8 +++-
1 file changed, 7
Some MSI controller change address/data pair when irq_set_affinity().
Current PCI endpoint can't support this type MSI controller. So add flag
MSI_FLAG_MUTABLE in include/linux/msi.h and check it when allocate
doorbell.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from
Add doorbell test case.
Signed-off-by: Frank Li
---
change from v14 to v16
- Add set IRQ type
change from v13 to v14
- merge to selftests framework
---
.../selftests/pci_endpoint/pci_endpoint_test.c | 28 ++
1 file changed, 28 insertions(+)
diff --git a/tools/testing
case as
usual.
Tested-by: Niklas Cassel
Signed-off-by: Frank Li
---
change from v14 to v16
- none
Change from v13 to v14
- update to use pci_endpoint_test -f pcie_ep_doorbell
- change ioctrl id to fix conflict
Change from v9 to v13
- none
Change from v8 to v9
- change PCITEST_DOORBELL to 0xa
Cha
pci_endpoint_test -f pcie_ep_doorbell' return
success.
If EP side doesn't support MSI, the same to 'F'.
F: 'pci_endpoint_test -f pcie_ep_doorbell' return failure, other case as
usual.
Tested-by: Niklas Cassel
Signed-off-by: Frank Li
---
change from v15 to v16
- use le32
Introduce the helper function pci_epf_align_inbound_addr() to adjust
addresses according to PCI BAR alignment requirements, converting addresses
into base and offset values.
Signed-off-by: Frank Li
---
Change from v15 to v16
- none
Change from v14 to v15
- change out address type to dma_addr_t
iklas Cassel
Signed-off-by: Frank Li
---
Change from v15 to v16
- fix rebase conflict
Change from v14 to v15
- check CONFIG_GENERIC_MSI
Fix below build error
| Reported-by: kernel test robot
| Closes:
https://lore.kernel.org/oe-kbuild-all/202502082204.6prr3cfg-...@intel.com/
All errors (new
hem. Setting the ID and 'of_node' prepares for
proper support.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
new patch
---
drivers/pci/endpoint/pci-epf-core.c | 4
include/linux/pci-epf.h | 2 ++
2 files changed, 6 insertions(+)
diff --gi
^^^ 0xc is implement defined sideband information,
which append to AXI write transaction.
^ 0 is function index.
msi-mask = <0x7>
}
Check msi-map if msi-parent missed to keep compatility with existed system.
Signed-off-by
], enabling msi-map to associate each child device
with a specific msi-specifier.
Include a device tree example illustrating this configuration.
Signed-off-by: Frank Li
---
change from v15 to v16
- new patch
---
Documentation/devicetree/bindings/pci/pci-msi.txt | 51 +++
1 file
the PCIe Root Complex (RC) side.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v12
- roll back to v12 version because Marc Zyngier have concern about add
DOMAIN_BUS_DEVICE_PCI_EP_MSI.
https://lore.kernel.org/imx/861pxfq315.wl-...@kernel.org/
change from v11 to v12
remain unchanged after setup. Use this
function to verify if the MSI controller is immutable.
Signed-off-by: Frank Li
---
change from v14 to v16
- none
change from v13 to v14
- Roll back to v12 version because Marc Zyngier have concern about add
DOMAIN_BUS_DEVICE_PCI_EP_MSI.
https://lore.kernel.org
│ ││
││ │ │ ││
││ │ │ ││
└┘ └───┘ └┘
This patches based on old
https://lore.kernel.org/imx/20221124055036.1630573-1-frank...@nxp.com/
Original patch only target to vntb driver. But actually it is common
method.
This patches add new API to pci-epf-core, so any EP driver can use it.
Previous v2 discussion here.
https
: Marc Zyngier
Signed-off-by: Frank Li
---
Change from v14 to v16
- use Marc Zyngier's suggested commit message
- Add Marc Zyngier's ack tag
change from v14 to v15
- none
change from v13 to v14
- bring back from v9 and remove fixup and cc stable before it is new use
case.
---
dr
gic number.\n");
> + goto ignored;
> + }
> +
> + /*
> + * For now, in struct fw_rsc_imx_dsp, version 0,
> + * only FEATURE_DONT_WAIT_FW_READY is valid.
> + *
> + * When adding new features, please upgrade version.
> + */
> + if (
m to ensure that the underlying irqdomain provides a
> immutable address/data pair.
>
> So it does not matter for GIC-ITS, but in the larger picture it matters.
Marc:
Do you satisfy Thomans's anwser? So I can respin this series.
Frank
>
> Thanks,
>
> tglx
On Sat, Mar 01, 2025 at 11:10:35AM +, Marc Zyngier wrote:
> On Tue, 11 Feb 2025 19:21:55 +,
> Frank Li wrote:
> >
> > Add the flag IRQ_DOMAIN_FLAG_MSI_IMMUTABLE and the API function
> > irq_domain_is_msi_immutable() to check if the MSI controller retains an
> &g
On Sat, Mar 01, 2025 at 11:37:14AM +, Marc Zyngier wrote:
> On Tue, 11 Feb 2025 19:21:57 +,
> Frank Li wrote:
> >
> > Some platform devices create child devices dynamically and require the
> > parent device's msi-map to map device IDs to actual sideband infor
On Sat, Mar 01, 2025 at 11:44:50AM +, Marc Zyngier wrote:
> On Tue, 11 Feb 2025 19:22:00 +,
> Frank Li wrote:
> >
> > Some MSI controller change address/data pair when irq_set_affinity().
> > Current PCI endpoint can't support this type MSI controller. So add
1 - 100 of 1650 matches
Mail list logo