diff mbox series

pci: Remove MVE opal calls

Message ID 20230725053611.190938-1-joel@jms.id.au
State Accepted
Headers show
Series pci: Remove MVE opal calls | expand

Commit Message

Joel Stanley July 25, 2023, 5:36 a.m. UTC
These callbacks were used by the p7ioc code that was removed a long time
ago. Add them to the list of removed calls and delete the dead code.

Linux has removed the code that called these functions in v6.5-rc1.

Signed-off-by: Joel Stanley <joel@jms.id.au>
---
v2: Update opal call docs
    Compltely remove functions instead of leaving stubs
---
 doc/opal-api/index.rst                      | 23 +++++++++--
 doc/opal-api/opal-pci-set-mve-33.rst        | 43 --------------------
 doc/opal-api/opal-pci-set-mve-enable-34.rst | 44 ---------------------
 doc/release-notes/skiboot-7.1.rst           | 12 ++++++
 include/pci.h                               |  6 ---
 core/pci-opal.c                             | 36 -----------------
 6 files changed, 31 insertions(+), 133 deletions(-)
 delete mode 100644 doc/opal-api/opal-pci-set-mve-33.rst
 delete mode 100644 doc/opal-api/opal-pci-set-mve-enable-34.rst
 create mode 100644 doc/release-notes/skiboot-7.1.rst

Comments

Joel Stanley July 25, 2023, 5:37 a.m. UTC | #1
On Tue, 25 Jul 2023 at 05:36, Joel Stanley <joel@jms.id.au> wrote:
>
> These callbacks were used by the p7ioc code that was removed a long time
> ago. Add them to the list of removed calls and delete the dead code.
>
> Linux has removed the code that called these functions in v6.5-rc1.
>
> Signed-off-by: Joel Stanley <joel@jms.id.au>
> ---
> v2: Update opal call docs
>     Compltely remove functions instead of leaving stubs

That's a typo. And I missed the "v2" in the subject line, but you get the idea.


> ---
>  doc/opal-api/index.rst                      | 23 +++++++++--
>  doc/opal-api/opal-pci-set-mve-33.rst        | 43 --------------------
>  doc/opal-api/opal-pci-set-mve-enable-34.rst | 44 ---------------------
>  doc/release-notes/skiboot-7.1.rst           | 12 ++++++
>  include/pci.h                               |  6 ---
>  core/pci-opal.c                             | 36 -----------------
>  6 files changed, 31 insertions(+), 133 deletions(-)
>  delete mode 100644 doc/opal-api/opal-pci-set-mve-33.rst
>  delete mode 100644 doc/opal-api/opal-pci-set-mve-enable-34.rst
>  create mode 100644 doc/release-notes/skiboot-7.1.rst
>
> diff --git a/doc/opal-api/index.rst b/doc/opal-api/index.rst
> index 663108889bc5..e8196f163640 100644
> --- a/doc/opal-api/index.rst
> +++ b/doc/opal-api/index.rst
> @@ -85,10 +85,6 @@ The OPAL API is the interface between an Operating System and OPAL.
>  +---------------------------------------------+--------------+------------------------+----------+-----------------+
>  | :ref:`OPAL_PCI_SET_PELTV`                   |  32          | v1.0 (Initial Release) | POWER8   |                 |
>  +---------------------------------------------+--------------+------------------------+----------+-----------------+
> -| :ref:`OPAL_PCI_SET_MVE`                     |  33          | v1.0 (Initial Release) | POWER8   |                 |
> -+---------------------------------------------+--------------+------------------------+----------+-----------------+
> -| :ref:`OPAL_PCI_SET_MVE_ENABLE`              |  34          | v1.0 (Initial Release) | POWER8   |                 |
> -+---------------------------------------------+--------------+------------------------+----------+-----------------+
>  | :ref:`OPAL_PCI_GET_XIVE_REISSUE`            |  35          | Never                  |          | Never used or   |
>  |                                             |              |                        |          | Implemented     |
>  +---------------------------------------------+--------------+------------------------+----------+-----------------+
> @@ -454,6 +450,10 @@ removed and no longer supported.
>  +---------------------------------------------+-------+-----------------------+-----------------------+
>  | :ref:`OPAL_PCI_EEH_FREEZE_STATUS2`          |  61   | v1.0 Initial Release  | :ref:`skiboot-6.4`    |
>  +---------------------------------------------+-------+-----------------------+-----------------------+
> +| :ref:`OPAL_PCI_SET_MVE`                     |  33   | v1.0 Initial Release  | :ref:`skiboot-7.1`    |
> ++---------------------------------------------+--------------+------------------------+----------+----+
> +| :ref:`OPAL_PCI_SET_MVE_ENABLE`              |  34   | v1.0 Initial Release  | :ref:`skiboot-7.1`    |
> ++---------------------------------------------+--------------+------------------------+----------+----+
>
>  .. _OPAL_GET_COMPLETION_TOKEN_STATUS:
>
> @@ -664,6 +664,21 @@ and bring-up purposes.
>
>  Support for p5ioc was removed from the Linux kernel in v4.6-rc1.
>
> +.. _OPAL_PCI_SET_MVE:
> +
> +OPAL_PCI_SET_MVE
> +^^^^^^^^^^^^^^^^
> +
> +Dead code, as the callback did nothing after the P7IOC code was removed in
> +skiboot 6.4. Removed in :ref:`skiboot-7.1`.
> +
> +.. _OPAL_PCI_SET_MVE_ENABLE:
> +
> +OPAL_PCI_SET_MVE_ENABLE
> +^^^^^^^^^^^^^^^^^^^^^^^
> +
> +Dead code, as the callback did nothing after the P7IOC code was removed in
> +skiboot 6.4. Removed in :ref:`skiboot-7.1`.
>
>  Future Calls
>  ------------
> diff --git a/doc/opal-api/opal-pci-set-mve-33.rst b/doc/opal-api/opal-pci-set-mve-33.rst
> deleted file mode 100644
> index b0c7e6111e0d..000000000000
> --- a/doc/opal-api/opal-pci-set-mve-33.rst
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -.. _OPAL_PCI_SET_MVE:
> -
> -OPAL_PCI_SET_MVE
> -================
> -
> -.. code-block:: c
> -
> -   #define OPAL_PCI_SET_MVE                    33
> -
> -   int64_t opal_pci_set_mve(uint64_t phb_id, uint32_t mve_number, uint64_t pe_number);
> -
> -**WARNING:** following documentation is from old sources, and is possibly
> -not representative of OPALv3 as implemented by skiboot. This should be
> -used as a starting point for full documentation.
> -
> -The host calls this function to bind a PE to an MSI Validation Table Entry
> -(MVE) in the PHB. The MVE compares the MSI requester (RID) to a PE RID,
> -including within the XIVE, to validate that the requester is authorized to
> -signal an interrupt to the associated DMA address for a message value that
> -selects a particular XIVE.
> -
> -``phb_id``
> -  is the value from the PHB node ibm,opal-phbid property.
> -
> -``mve_number``
> -  is the index, from 0 to ibm,opal,ibm-num-msi-ports minus1
> -
> -``pe_number``
> -  is the index of a PE, from 0 to ibm,opal-num-pes minus 1.
> -
> -This call maps an MVE to a PE and PE RID domain. OPAL uses the PELT to
> -determine the PE domain. OPAL treats this call as a NOP for IODA2 PHBs
> -and returns a status of OPAL_SUCCESS.
> -
> -
> -Return value:
> -
> -.. code-block:: c
> -
> -       if (!phb)
> -               return OPAL_PARAMETER;
> -       if (!phb->ops->set_mve)
> -               return OPAL_UNSUPPORTED;
> diff --git a/doc/opal-api/opal-pci-set-mve-enable-34.rst b/doc/opal-api/opal-pci-set-mve-enable-34.rst
> deleted file mode 100644
> index 55bf10a08f21..000000000000
> --- a/doc/opal-api/opal-pci-set-mve-enable-34.rst
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -.. _OPAL_PCI_SET_MVE_ENABLE:
> -
> -OPAL_PCI_SET_MVE_ENABLE
> -=======================
> -
> -
> -.. code-block:: c
> -
> -   #define OPAL_PCI_SET_MVE_ENABLE                     34
> -
> -   int64_t opal_pci_set_mve_enable(uint64_t phb_id, uint32_t mve_number, uint32_t state);
> -
> -   enum OpalMveEnableAction {
> -       OPAL_DISABLE_MVE = 0,
> -       OPAL_ENABLE_MVE = 1
> -   };
> -
> -**WARNING:** following documentation is from old sources, and is possibly
> -not representative of OPALv3 as implemented by skiboot. This should be
> -used as a starting point for full documentation.
> -
> -The host calls this function to enable or disable an MVE to respond to an MSI
> -DMA address and message data value.
> -
> -``phb_id``
> -  is the value from the PHB node ibm,opal-phbid property.
> -
> -``mve_number``
> -  is the index, from 0 to ibm,opal,ibm-num-msi-ports minus1
> -
> -``state``
> -  A '1' value of the state parameter indicates to enable the MVE and a '0'
> -  value indicates to disable the MVE.
> -
> -This call sets the MVE to an enabled (1) or disabled (0) state.
> -
> -Return value:
> -
> -.. code-block:: c
> -
> -       if (!phb)
> -               return OPAL_PARAMETER;
> -       if (!phb->ops->set_mve_enable)
> -               return OPAL_UNSUPPORTED;
> diff --git a/doc/release-notes/skiboot-7.1.rst b/doc/release-notes/skiboot-7.1.rst
> new file mode 100644
> index 000000000000..8e37450a651b
> --- /dev/null
> +++ b/doc/release-notes/skiboot-7.1.rst
> @@ -0,0 +1,12 @@
> +.. _skiboot-7.1:
> +
> +skiboot-7.1
> +===========
> +
> +New Features
> +------------
> +Removed OPAL calls
> +^^^^^^^^^^^^^^^^^^
> +The OPAL_PCI_SET_MVE_ENABLE and OPAL_PCI_SET_MVE calls were removed, as they
> +were noops. Support for IODA1 and both calls was removed from the Linux kernel
> +in v6.5-rc1.
> diff --git a/include/pci.h b/include/pci.h
> index caae74431841..59f9fcc9afaa 100644
> --- a/include/pci.h
> +++ b/include/pci.h
> @@ -296,12 +296,6 @@ struct phb_ops {
>         int64_t (*get_option)(struct phb *phb, enum OpalPhbOption opt,
>                               __be64 *setting);
>
> -       int64_t (*set_mve)(struct phb *phb, uint32_t mve_number,
> -                          uint64_t pe_number);
> -
> -       int64_t (*set_mve_enable)(struct phb *phb, uint32_t mve_number,
> -                                 uint32_t state);
> -
>         int64_t (*set_xive_pe)(struct phb *phb, uint64_t pe_number,
>                                uint32_t xive_num);
>
> diff --git a/core/pci-opal.c b/core/pci-opal.c
> index acbcd2a5e60a..28b2c84cc0d5 100644
> --- a/core/pci-opal.c
> +++ b/core/pci-opal.c
> @@ -307,42 +307,6 @@ static int64_t opal_pci_set_peltv(uint64_t phb_id, uint32_t parent_pe,
>  }
>  opal_call(OPAL_PCI_SET_PELTV, opal_pci_set_peltv, 4);
>
> -static int64_t opal_pci_set_mve(uint64_t phb_id, uint32_t mve_number,
> -                               uint64_t pe_number)
> -{
> -       struct phb *phb = pci_get_phb(phb_id);
> -       int64_t rc;
> -
> -       if (!phb)
> -               return OPAL_PARAMETER;
> -       if (!phb->ops->set_mve)
> -               return OPAL_UNSUPPORTED;
> -       phb_lock(phb);
> -       rc = phb->ops->set_mve(phb, mve_number, pe_number);
> -       phb_unlock(phb);
> -
> -       return rc;
> -}
> -opal_call(OPAL_PCI_SET_MVE, opal_pci_set_mve, 3);
> -
> -static int64_t opal_pci_set_mve_enable(uint64_t phb_id, uint32_t mve_number,
> -                                      uint32_t state)
> -{
> -       struct phb *phb = pci_get_phb(phb_id);
> -       int64_t rc;
> -
> -       if (!phb)
> -               return OPAL_PARAMETER;
> -       if (!phb->ops->set_mve_enable)
> -               return OPAL_UNSUPPORTED;
> -       phb_lock(phb);
> -       rc = phb->ops->set_mve_enable(phb, mve_number, state);
> -       phb_unlock(phb);
> -
> -       return rc;
> -}
> -opal_call(OPAL_PCI_SET_MVE_ENABLE, opal_pci_set_mve_enable, 3);
> -
>  static int64_t opal_pci_msi_eoi(uint64_t phb_id,
>                                 uint32_t hwirq)
>  {
> --
> 2.40.1
>
Reza Arbab Aug. 9, 2023, 9:34 p.m. UTC | #2
On Tue, Jul 25, 2023 at 05:37:47AM +0000, Joel Stanley wrote:
>On Tue, 25 Jul 2023 at 05:36, Joel Stanley <joel@jms.id.au> wrote:
>> These callbacks were used by the p7ioc code that was removed a long time
>> ago. Add them to the list of removed calls and delete the dead code.
>>
>> Linux has removed the code that called these functions in v6.5-rc1.
>>
>> Signed-off-by: Joel Stanley <joel@jms.id.au>
>> ---
>> v2: Update opal call docs
>>     Compltely remove functions instead of leaving stubs
>
>That's a typo. And I missed the "v2" in the subject line, but you get the idea.

No problem. Thanks Joel! Applied to master.
diff mbox series

Patch

diff --git a/doc/opal-api/index.rst b/doc/opal-api/index.rst
index 663108889bc5..e8196f163640 100644
--- a/doc/opal-api/index.rst
+++ b/doc/opal-api/index.rst
@@ -85,10 +85,6 @@  The OPAL API is the interface between an Operating System and OPAL.
 +---------------------------------------------+--------------+------------------------+----------+-----------------+
 | :ref:`OPAL_PCI_SET_PELTV`                   |  32          | v1.0 (Initial Release) | POWER8   |                 |
 +---------------------------------------------+--------------+------------------------+----------+-----------------+
-| :ref:`OPAL_PCI_SET_MVE`                     |  33          | v1.0 (Initial Release) | POWER8   |                 |
-+---------------------------------------------+--------------+------------------------+----------+-----------------+
-| :ref:`OPAL_PCI_SET_MVE_ENABLE`              |  34          | v1.0 (Initial Release) | POWER8   |                 |
-+---------------------------------------------+--------------+------------------------+----------+-----------------+
 | :ref:`OPAL_PCI_GET_XIVE_REISSUE`            |  35          | Never                  |          | Never used or   |
 |                                             |              |                        |          | Implemented     |
 +---------------------------------------------+--------------+------------------------+----------+-----------------+
@@ -454,6 +450,10 @@  removed and no longer supported.
 +---------------------------------------------+-------+-----------------------+-----------------------+
 | :ref:`OPAL_PCI_EEH_FREEZE_STATUS2`          |  61   | v1.0 Initial Release  | :ref:`skiboot-6.4`    |
 +---------------------------------------------+-------+-----------------------+-----------------------+
+| :ref:`OPAL_PCI_SET_MVE`                     |  33   | v1.0 Initial Release  | :ref:`skiboot-7.1`    |
++---------------------------------------------+--------------+------------------------+----------+----+
+| :ref:`OPAL_PCI_SET_MVE_ENABLE`              |  34   | v1.0 Initial Release  | :ref:`skiboot-7.1`    |
++---------------------------------------------+--------------+------------------------+----------+----+
 
 .. _OPAL_GET_COMPLETION_TOKEN_STATUS:
 
@@ -664,6 +664,21 @@  and bring-up purposes.
 
 Support for p5ioc was removed from the Linux kernel in v4.6-rc1.
 
+.. _OPAL_PCI_SET_MVE:
+
+OPAL_PCI_SET_MVE
+^^^^^^^^^^^^^^^^
+
+Dead code, as the callback did nothing after the P7IOC code was removed in
+skiboot 6.4. Removed in :ref:`skiboot-7.1`.
+
+.. _OPAL_PCI_SET_MVE_ENABLE:
+
+OPAL_PCI_SET_MVE_ENABLE
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Dead code, as the callback did nothing after the P7IOC code was removed in
+skiboot 6.4. Removed in :ref:`skiboot-7.1`.
 
 Future Calls
 ------------
diff --git a/doc/opal-api/opal-pci-set-mve-33.rst b/doc/opal-api/opal-pci-set-mve-33.rst
deleted file mode 100644
index b0c7e6111e0d..000000000000
--- a/doc/opal-api/opal-pci-set-mve-33.rst
+++ /dev/null
@@ -1,43 +0,0 @@ 
-.. _OPAL_PCI_SET_MVE:
-
-OPAL_PCI_SET_MVE
-================
-
-.. code-block:: c
-
-   #define OPAL_PCI_SET_MVE			33
-
-   int64_t opal_pci_set_mve(uint64_t phb_id, uint32_t mve_number, uint64_t pe_number);
-
-**WARNING:** following documentation is from old sources, and is possibly
-not representative of OPALv3 as implemented by skiboot. This should be
-used as a starting point for full documentation.
-
-The host calls this function to bind a PE to an MSI Validation Table Entry
-(MVE) in the PHB. The MVE compares the MSI requester (RID) to a PE RID,
-including within the XIVE, to validate that the requester is authorized to
-signal an interrupt to the associated DMA address for a message value that
-selects a particular XIVE.
-
-``phb_id``
-  is the value from the PHB node ibm,opal-phbid property.
-
-``mve_number``
-  is the index, from 0 to ibm,opal,ibm-num-msi-ports minus1
-
-``pe_number``
-  is the index of a PE, from 0 to ibm,opal-num-pes minus 1.
-
-This call maps an MVE to a PE and PE RID domain. OPAL uses the PELT to
-determine the PE domain. OPAL treats this call as a NOP for IODA2 PHBs
-and returns a status of OPAL_SUCCESS.
-
-
-Return value:
-
-.. code-block:: c
-
-	if (!phb)
-		return OPAL_PARAMETER;
-	if (!phb->ops->set_mve)
-		return OPAL_UNSUPPORTED;
diff --git a/doc/opal-api/opal-pci-set-mve-enable-34.rst b/doc/opal-api/opal-pci-set-mve-enable-34.rst
deleted file mode 100644
index 55bf10a08f21..000000000000
--- a/doc/opal-api/opal-pci-set-mve-enable-34.rst
+++ /dev/null
@@ -1,44 +0,0 @@ 
-.. _OPAL_PCI_SET_MVE_ENABLE:
-
-OPAL_PCI_SET_MVE_ENABLE
-=======================
-
-
-.. code-block:: c
-
-   #define OPAL_PCI_SET_MVE_ENABLE			34
-
-   int64_t opal_pci_set_mve_enable(uint64_t phb_id, uint32_t mve_number, uint32_t state);
-
-   enum OpalMveEnableAction {
-	OPAL_DISABLE_MVE = 0,
-	OPAL_ENABLE_MVE = 1
-   };
-
-**WARNING:** following documentation is from old sources, and is possibly
-not representative of OPALv3 as implemented by skiboot. This should be
-used as a starting point for full documentation.
-
-The host calls this function to enable or disable an MVE to respond to an MSI
-DMA address and message data value.
-
-``phb_id``
-  is the value from the PHB node ibm,opal-phbid property.
-
-``mve_number``
-  is the index, from 0 to ibm,opal,ibm-num-msi-ports minus1
-
-``state``
-  A '1' value of the state parameter indicates to enable the MVE and a '0'
-  value indicates to disable the MVE.
-
-This call sets the MVE to an enabled (1) or disabled (0) state.
-
-Return value:
-
-.. code-block:: c
-
-	if (!phb)
-		return OPAL_PARAMETER;
-	if (!phb->ops->set_mve_enable)
-		return OPAL_UNSUPPORTED;
diff --git a/doc/release-notes/skiboot-7.1.rst b/doc/release-notes/skiboot-7.1.rst
new file mode 100644
index 000000000000..8e37450a651b
--- /dev/null
+++ b/doc/release-notes/skiboot-7.1.rst
@@ -0,0 +1,12 @@ 
+.. _skiboot-7.1:
+
+skiboot-7.1
+===========
+
+New Features
+------------
+Removed OPAL calls
+^^^^^^^^^^^^^^^^^^
+The OPAL_PCI_SET_MVE_ENABLE and OPAL_PCI_SET_MVE calls were removed, as they
+were noops. Support for IODA1 and both calls was removed from the Linux kernel
+in v6.5-rc1.
diff --git a/include/pci.h b/include/pci.h
index caae74431841..59f9fcc9afaa 100644
--- a/include/pci.h
+++ b/include/pci.h
@@ -296,12 +296,6 @@  struct phb_ops {
 	int64_t (*get_option)(struct phb *phb, enum OpalPhbOption opt,
 			      __be64 *setting);
 
-	int64_t (*set_mve)(struct phb *phb, uint32_t mve_number,
-			   uint64_t pe_number);
-
-	int64_t (*set_mve_enable)(struct phb *phb, uint32_t mve_number,
-				  uint32_t state);
-
 	int64_t (*set_xive_pe)(struct phb *phb, uint64_t pe_number,
 			       uint32_t xive_num);
 
diff --git a/core/pci-opal.c b/core/pci-opal.c
index acbcd2a5e60a..28b2c84cc0d5 100644
--- a/core/pci-opal.c
+++ b/core/pci-opal.c
@@ -307,42 +307,6 @@  static int64_t opal_pci_set_peltv(uint64_t phb_id, uint32_t parent_pe,
 }
 opal_call(OPAL_PCI_SET_PELTV, opal_pci_set_peltv, 4);
 
-static int64_t opal_pci_set_mve(uint64_t phb_id, uint32_t mve_number,
-				uint64_t pe_number)
-{
-	struct phb *phb = pci_get_phb(phb_id);
-	int64_t rc;
-
-	if (!phb)
-		return OPAL_PARAMETER;
-	if (!phb->ops->set_mve)
-		return OPAL_UNSUPPORTED;
-	phb_lock(phb);
-	rc = phb->ops->set_mve(phb, mve_number, pe_number);
-	phb_unlock(phb);
-
-	return rc;
-}
-opal_call(OPAL_PCI_SET_MVE, opal_pci_set_mve, 3);
-
-static int64_t opal_pci_set_mve_enable(uint64_t phb_id, uint32_t mve_number,
-				       uint32_t state)
-{
-	struct phb *phb = pci_get_phb(phb_id);
-	int64_t rc;
-
-	if (!phb)
-		return OPAL_PARAMETER;
-	if (!phb->ops->set_mve_enable)
-		return OPAL_UNSUPPORTED;
-	phb_lock(phb);
-	rc = phb->ops->set_mve_enable(phb, mve_number, state);
-	phb_unlock(phb);
-
-	return rc;
-}
-opal_call(OPAL_PCI_SET_MVE_ENABLE, opal_pci_set_mve_enable, 3);
-
 static int64_t opal_pci_msi_eoi(uint64_t phb_id,
 				uint32_t hwirq)
 {