2022-04-12 09:58:42

by Manivannan Sadhasivam

[permalink] [raw]
Subject: [PATCH v2] bus: mhi: host: pci_generic: Sort mhi_pci_id_table based on the PID

Sorting this way helps in identifying the products of vendors. There is no
sorting required for VID and the new VID should be added as the last entry.

Let's also add a note clarifying this.

Signed-off-by: Manivannan Sadhasivam <[email protected]>
---

Changes in v2:

* Fixup the 0x0306 entry by moving it after subid

drivers/bus/mhi/host/pci_generic.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
index 541ced27d941..8858f3bf4f04 100644
--- a/drivers/bus/mhi/host/pci_generic.c
+++ b/drivers/bus/mhi/host/pci_generic.c
@@ -446,20 +446,21 @@ static const struct mhi_pci_dev_info mhi_sierra_em919x_info = {
.sideband_wake = false,
};

+/* Keep the list sorted based on the PID. New VID should be added as the last entry */
static const struct pci_device_id mhi_pci_id_table[] = {
+ { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304),
+ .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info },
/* EM919x (sdx55), use the same vid:pid as qcom-sdx55m */
{ PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x18d7, 0x0200),
.driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info },
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0306),
.driver_data = (kernel_ulong_t) &mhi_qcom_sdx55_info },
- { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304),
- .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info },
+ { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
+ .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
{ PCI_DEVICE(0x1eac, 0x1001), /* EM120R-GL (sdx24) */
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
{ PCI_DEVICE(0x1eac, 0x1002), /* EM160R-GL (sdx24) */
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
- { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
- .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
/* T99W175 (sdx55), Both for eSIM and Non-eSIM */
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
.driver_data = (kernel_ulong_t) &mhi_foxconn_sdx55_info },
--
2.25.1


2022-04-12 23:03:09

by Daniele Palmas

[permalink] [raw]
Subject: Re: [PATCH v2] bus: mhi: host: pci_generic: Sort mhi_pci_id_table based on the PID

Hi Mani,

Il giorno lun 11 apr 2022 alle ore 15:34 Manivannan Sadhasivam
<[email protected]> ha scritto:
>
> Sorting this way helps in identifying the products of vendors. There is no
> sorting required for VID and the new VID should be added as the last entry.
>
> Let's also add a note clarifying this.
>
> Signed-off-by: Manivannan Sadhasivam <[email protected]>
> ---
>

Reviewed-by: Daniele Palmas <[email protected]>

I will wait for this change to be merged, then rebase the FN980 one.

Thanks,
Daniele

> Changes in v2:
>
> * Fixup the 0x0306 entry by moving it after subid
>
> drivers/bus/mhi/host/pci_generic.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
> index 541ced27d941..8858f3bf4f04 100644
> --- a/drivers/bus/mhi/host/pci_generic.c
> +++ b/drivers/bus/mhi/host/pci_generic.c
> @@ -446,20 +446,21 @@ static const struct mhi_pci_dev_info mhi_sierra_em919x_info = {
> .sideband_wake = false,
> };
>
> +/* Keep the list sorted based on the PID. New VID should be added as the last entry */
> static const struct pci_device_id mhi_pci_id_table[] = {
> + { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304),
> + .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info },
> /* EM919x (sdx55), use the same vid:pid as qcom-sdx55m */
> { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x18d7, 0x0200),
> .driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info },
> { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0306),
> .driver_data = (kernel_ulong_t) &mhi_qcom_sdx55_info },
> - { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304),
> - .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info },
> + { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
> + .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
> { PCI_DEVICE(0x1eac, 0x1001), /* EM120R-GL (sdx24) */
> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> { PCI_DEVICE(0x1eac, 0x1002), /* EM160R-GL (sdx24) */
> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> - { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
> - .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
> /* T99W175 (sdx55), Both for eSIM and Non-eSIM */
> { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
> .driver_data = (kernel_ulong_t) &mhi_foxconn_sdx55_info },
> --
> 2.25.1
>

2022-04-23 15:51:58

by Manivannan Sadhasivam

[permalink] [raw]
Subject: Re: [PATCH v2] bus: mhi: host: pci_generic: Sort mhi_pci_id_table based on the PID

On Mon, Apr 11, 2022 at 07:04:28PM +0530, Manivannan Sadhasivam wrote:
> Sorting this way helps in identifying the products of vendors. There is no
> sorting required for VID and the new VID should be added as the last entry.
>
> Let's also add a note clarifying this.
>
> Signed-off-by: Manivannan Sadhasivam <[email protected]>

Applied to mhi-next!

Thanks,
Mani

> ---
>
> Changes in v2:
>
> * Fixup the 0x0306 entry by moving it after subid
>
> drivers/bus/mhi/host/pci_generic.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
> index 541ced27d941..8858f3bf4f04 100644
> --- a/drivers/bus/mhi/host/pci_generic.c
> +++ b/drivers/bus/mhi/host/pci_generic.c
> @@ -446,20 +446,21 @@ static const struct mhi_pci_dev_info mhi_sierra_em919x_info = {
> .sideband_wake = false,
> };
>
> +/* Keep the list sorted based on the PID. New VID should be added as the last entry */
> static const struct pci_device_id mhi_pci_id_table[] = {
> + { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304),
> + .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info },
> /* EM919x (sdx55), use the same vid:pid as qcom-sdx55m */
> { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x18d7, 0x0200),
> .driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info },
> { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0306),
> .driver_data = (kernel_ulong_t) &mhi_qcom_sdx55_info },
> - { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304),
> - .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info },
> + { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
> + .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
> { PCI_DEVICE(0x1eac, 0x1001), /* EM120R-GL (sdx24) */
> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> { PCI_DEVICE(0x1eac, 0x1002), /* EM160R-GL (sdx24) */
> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> - { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
> - .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
> /* T99W175 (sdx55), Both for eSIM and Non-eSIM */
> { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
> .driver_data = (kernel_ulong_t) &mhi_foxconn_sdx55_info },
> --
> 2.25.1
>