2019-08-11 20:01:58

by Denis Efremov (Oracle)

[permalink] [raw]
Subject: [PATCH v2 3/4] PCI: pciehp: Replace pciehp_set_attention_status()

This patch replaces pciehp_set_attention_status() with
pciehp_set_indicators().

Signed-off-by: Denis Efremov <[email protected]>
---
drivers/pci/hotplug/pciehp.h | 4 +++-
drivers/pci/hotplug/pciehp_hpc.c | 25 -------------------------
2 files changed, 3 insertions(+), 26 deletions(-)

diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci/hotplug/pciehp.h
index 17305a6f01f1..9a2a2d0db9d2 100644
--- a/drivers/pci/hotplug/pciehp.h
+++ b/drivers/pci/hotplug/pciehp.h
@@ -181,7 +181,6 @@ void pciehp_get_power_status(struct controller *ctrl, u8 *status);
void pciehp_set_indicators(struct controller *ctrl,
enum pciehp_indicator pwr,
enum pciehp_indicator attn);
-void pciehp_set_attention_status(struct controller *ctrl, u8 status);
void pciehp_get_latch_status(struct controller *ctrl, u8 *status);
int pciehp_query_power_fault(struct controller *ctrl);
void pciehp_green_led_on(struct controller *ctrl);
@@ -200,6 +199,9 @@ int pciehp_get_attention_status(struct hotplug_slot *hotplug_slot, u8 *status);
int pciehp_set_raw_indicator_status(struct hotplug_slot *h_slot, u8 status);
int pciehp_get_raw_indicator_status(struct hotplug_slot *h_slot, u8 *status);

+#define pciehp_set_attention_status(ctrl, status) \
+ pciehp_set_indicators(ctrl, PWR_NONE, (status == 0 ? ATTN_OFF : status))
+
static inline const char *slot_name(struct controller *ctrl)
{
return hotplug_slot_name(&ctrl->hotplug_slot);
diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c
index 68b880bc30db..fb4bea16063a 100644
--- a/drivers/pci/hotplug/pciehp_hpc.c
+++ b/drivers/pci/hotplug/pciehp_hpc.c
@@ -418,31 +418,6 @@ int pciehp_set_raw_indicator_status(struct hotplug_slot *hotplug_slot,
return 0;
}

-void pciehp_set_attention_status(struct controller *ctrl, u8 value)
-{
- u16 slot_cmd;
-
- if (!ATTN_LED(ctrl))
- return;
-
- switch (value) {
- case 0: /* turn off */
- slot_cmd = PCI_EXP_SLTCTL_ATTN_IND_OFF;
- break;
- case 1: /* turn on */
- slot_cmd = PCI_EXP_SLTCTL_ATTN_IND_ON;
- break;
- case 2: /* turn blink */
- slot_cmd = PCI_EXP_SLTCTL_ATTN_IND_BLINK;
- break;
- default:
- return;
- }
- pcie_write_cmd_nowait(ctrl, slot_cmd, PCI_EXP_SLTCTL_AIC);
- ctrl_dbg(ctrl, "%s: SLOTCTRL %x write cmd %x\n", __func__,
- pci_pcie_cap(ctrl->pcie->port) + PCI_EXP_SLTCTL, slot_cmd);
-}
-
void pciehp_set_indicators(struct controller *ctrl,
enum pciehp_indicator pwr,
enum pciehp_indicator attn)
--
2.21.0


2019-08-12 06:33:11

by Lukas Wunner

[permalink] [raw]
Subject: Re: [PATCH v2 3/4] PCI: pciehp: Replace pciehp_set_attention_status()

On Sun, Aug 11, 2019 at 10:59:43PM +0300, Denis Efremov wrote:
> +#define pciehp_set_attention_status(ctrl, status) \
> + pciehp_set_indicators(ctrl, PWR_NONE, (status == 0 ? ATTN_OFF : status))

Reviewed-by: Lukas Wunner <[email protected]>

Good catch regarding the translation of the "off" value that's needed here.

Subject: Re: [PATCH v2 3/4] PCI: pciehp: Replace pciehp_set_attention_status()

Hi,

On 8/11/19 12:59 PM, Denis Efremov wrote:
> This patch replaces pciehp_set_attention_status() with
> pciehp_set_indicators().
>
> Signed-off-by: Denis Efremov <[email protected]>
Reviewed-by: Kuppuswamy Sathyanarayanan
<[email protected]>
> ---
> drivers/pci/hotplug/pciehp.h | 4 +++-
> drivers/pci/hotplug/pciehp_hpc.c | 25 -------------------------
> 2 files changed, 3 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci/hotplug/pciehp.h
> index 17305a6f01f1..9a2a2d0db9d2 100644
> --- a/drivers/pci/hotplug/pciehp.h
> +++ b/drivers/pci/hotplug/pciehp.h
> @@ -181,7 +181,6 @@ void pciehp_get_power_status(struct controller *ctrl, u8 *status);
> void pciehp_set_indicators(struct controller *ctrl,
> enum pciehp_indicator pwr,
> enum pciehp_indicator attn);
> -void pciehp_set_attention_status(struct controller *ctrl, u8 status);
> void pciehp_get_latch_status(struct controller *ctrl, u8 *status);
> int pciehp_query_power_fault(struct controller *ctrl);
> void pciehp_green_led_on(struct controller *ctrl);
> @@ -200,6 +199,9 @@ int pciehp_get_attention_status(struct hotplug_slot *hotplug_slot, u8 *status);
> int pciehp_set_raw_indicator_status(struct hotplug_slot *h_slot, u8 status);
> int pciehp_get_raw_indicator_status(struct hotplug_slot *h_slot, u8 *status);
>
> +#define pciehp_set_attention_status(ctrl, status) \
> + pciehp_set_indicators(ctrl, PWR_NONE, (status == 0 ? ATTN_OFF : status))
> +
> static inline const char *slot_name(struct controller *ctrl)
> {
> return hotplug_slot_name(&ctrl->hotplug_slot);
> diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c
> index 68b880bc30db..fb4bea16063a 100644
> --- a/drivers/pci/hotplug/pciehp_hpc.c
> +++ b/drivers/pci/hotplug/pciehp_hpc.c
> @@ -418,31 +418,6 @@ int pciehp_set_raw_indicator_status(struct hotplug_slot *hotplug_slot,
> return 0;
> }
>
> -void pciehp_set_attention_status(struct controller *ctrl, u8 value)
> -{
> - u16 slot_cmd;
> -
> - if (!ATTN_LED(ctrl))
> - return;
> -
> - switch (value) {
> - case 0: /* turn off */
> - slot_cmd = PCI_EXP_SLTCTL_ATTN_IND_OFF;
> - break;
> - case 1: /* turn on */
> - slot_cmd = PCI_EXP_SLTCTL_ATTN_IND_ON;
> - break;
> - case 2: /* turn blink */
> - slot_cmd = PCI_EXP_SLTCTL_ATTN_IND_BLINK;
> - break;
> - default:
> - return;
> - }
> - pcie_write_cmd_nowait(ctrl, slot_cmd, PCI_EXP_SLTCTL_AIC);
> - ctrl_dbg(ctrl, "%s: SLOTCTRL %x write cmd %x\n", __func__,
> - pci_pcie_cap(ctrl->pcie->port) + PCI_EXP_SLTCTL, slot_cmd);
> -}
> -
> void pciehp_set_indicators(struct controller *ctrl,
> enum pciehp_indicator pwr,
> enum pciehp_indicator attn)

--
Sathyanarayanan Kuppuswamy
Linux kernel developer