[Skiboot] [PATCH] pci: Remove MVE opal calls
Joel Stanley
joel at jms.id.au
Tue Jul 25 15:37:47 AEST 2023
On Tue, 25 Jul 2023 at 05:36, Joel Stanley <joel at 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 at 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
>
More information about the Skiboot
mailing list