X86 platform drivers
 help / color / mirror / Atom feed
* [PATCH platform 0/4] platform/x86: mlx-platform: Provide fixes for several issues
@ 2023-08-13  8:37 Vadim Pasternak
  2023-08-13  8:37 ` [PATCH platform 1/4] platform: mellanox: Fix order in exit flow Vadim Pasternak
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Vadim Pasternak @ 2023-08-13  8:37 UTC (permalink / raw)
  To: hdegoede; +Cc: platform-driver-x86, Vadim Pasternak

The patch set includes fixes for several issues:
Patch #1: fixes exit flow order.
Patch #2: fixes signals definitions.
Patch #3: fixes platform shutdown callback.
Patch #3: fixes register offsets

Vadim Pasternak (4):
  platform: mellanox: Fix order in exit flow
  platform: mellanox: mlx-platform: Fix signals polarity and latch mask
  platform: mellanox: mlx-platform: Modify graceful shutdown callback
    and power down mask
  platform: mellanox: Change register offset addresses

 drivers/platform/x86/mlx-platform.c | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

-- 
2.20.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH platform 1/4] platform: mellanox: Fix order in exit flow
  2023-08-13  8:37 [PATCH platform 0/4] platform/x86: mlx-platform: Provide fixes for several issues Vadim Pasternak
@ 2023-08-13  8:37 ` Vadim Pasternak
  2023-08-13  8:37 ` [PATCH platform 2/4] platform: mellanox: mlx-platform: Fix signals polarity and latch mask Vadim Pasternak
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Vadim Pasternak @ 2023-08-13  8:37 UTC (permalink / raw)
  To: hdegoede; +Cc: platform-driver-x86, Vadim Pasternak

Fix exit flow order: call mlxplat_post_exit() after
mlxplat_i2c_main_exit() in order to unregister main i2c driver before
to "mlxplat" driver.

Fixes: 0170f616f496 ("platform: mellanox: Split initialization procedure")
Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Reviewed-by: Michael Shych <michaelsh@nvidia.com>
---
 drivers/platform/x86/mlx-platform.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/platform/x86/mlx-platform.c b/drivers/platform/x86/mlx-platform.c
index 67367f010139..5fb3348023a7 100644
--- a/drivers/platform/x86/mlx-platform.c
+++ b/drivers/platform/x86/mlx-platform.c
@@ -6238,8 +6238,6 @@ static void mlxplat_i2c_mux_topolgy_exit(struct mlxplat_priv *priv)
 		if (priv->pdev_mux[i])
 			platform_device_unregister(priv->pdev_mux[i]);
 	}
-
-	mlxplat_post_exit();
 }
 
 static int mlxplat_i2c_main_complition_notify(void *handle, int id)
@@ -6369,6 +6367,7 @@ static void __exit mlxplat_exit(void)
 		pm_power_off = NULL;
 	mlxplat_pre_exit(priv);
 	mlxplat_i2c_main_exit(priv);
+	mlxplat_post_exit();
 }
 module_exit(mlxplat_exit);
 
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH platform 2/4] platform: mellanox: mlx-platform: Fix signals polarity and latch mask
  2023-08-13  8:37 [PATCH platform 0/4] platform/x86: mlx-platform: Provide fixes for several issues Vadim Pasternak
  2023-08-13  8:37 ` [PATCH platform 1/4] platform: mellanox: Fix order in exit flow Vadim Pasternak
@ 2023-08-13  8:37 ` Vadim Pasternak
  2023-08-13  8:37 ` [PATCH platform 3/4] platform: mellanox: mlx-platform: Modify graceful shutdown callback and power down mask Vadim Pasternak
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Vadim Pasternak @ 2023-08-13  8:37 UTC (permalink / raw)
  To: hdegoede; +Cc: platform-driver-x86, Vadim Pasternak

Change polarity of chassis health and power signals and fix latch reset
mask for L1 switch.

Fixes: dd635e33b5c9 ("platform: mellanox: Introduce support of new Nvidia L1 switch")
Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Reviewed-by: Michael Shych <michaelsh@nvidia.com>
---
 drivers/platform/x86/mlx-platform.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/platform/x86/mlx-platform.c b/drivers/platform/x86/mlx-platform.c
index 5fb3348023a7..69256af04f05 100644
--- a/drivers/platform/x86/mlx-platform.c
+++ b/drivers/platform/x86/mlx-platform.c
@@ -237,7 +237,7 @@
 #define MLXPLAT_CPLD_GWP_MASK		GENMASK(0, 0)
 #define MLXPLAT_CPLD_EROT_MASK		GENMASK(1, 0)
 #define MLXPLAT_CPLD_PWR_BUTTON_MASK	BIT(0)
-#define MLXPLAT_CPLD_LATCH_RST_MASK	BIT(5)
+#define MLXPLAT_CPLD_LATCH_RST_MASK	BIT(6)
 #define MLXPLAT_CPLD_THERMAL1_PDB_MASK	BIT(3)
 #define MLXPLAT_CPLD_THERMAL2_PDB_MASK	BIT(4)
 #define MLXPLAT_CPLD_INTRUSION_MASK	BIT(6)
@@ -2475,7 +2475,7 @@ static struct mlxreg_core_item mlxplat_mlxcpld_l1_switch_events_items[] = {
 		.reg = MLXPLAT_CPLD_LPC_REG_PWRB_OFFSET,
 		.mask = MLXPLAT_CPLD_PWR_BUTTON_MASK,
 		.count = ARRAY_SIZE(mlxplat_mlxcpld_l1_switch_pwr_events_items_data),
-		.inversed = 0,
+		.inversed = 1,
 		.health = false,
 	},
 	{
@@ -2484,7 +2484,7 @@ static struct mlxreg_core_item mlxplat_mlxcpld_l1_switch_events_items[] = {
 		.reg = MLXPLAT_CPLD_LPC_REG_BRD_OFFSET,
 		.mask = MLXPLAT_CPLD_L1_CHA_HEALTH_MASK,
 		.count = ARRAY_SIZE(mlxplat_mlxcpld_l1_switch_health_events_items_data),
-		.inversed = 0,
+		.inversed = 1,
 		.health = false,
 		.ind = 8,
 	},
@@ -3677,7 +3677,7 @@ static struct mlxreg_core_data mlxplat_mlxcpld_default_ng_regs_io_data[] = {
 	{
 		.label = "latch_reset",
 		.reg = MLXPLAT_CPLD_LPC_REG_GP1_OFFSET,
-		.mask = GENMASK(7, 0) & ~BIT(5),
+		.mask = GENMASK(7, 0) & ~BIT(6),
 		.mode = 0200,
 	},
 	{
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH platform 3/4] platform: mellanox: mlx-platform: Modify graceful shutdown callback and power down mask
  2023-08-13  8:37 [PATCH platform 0/4] platform/x86: mlx-platform: Provide fixes for several issues Vadim Pasternak
  2023-08-13  8:37 ` [PATCH platform 1/4] platform: mellanox: Fix order in exit flow Vadim Pasternak
  2023-08-13  8:37 ` [PATCH platform 2/4] platform: mellanox: mlx-platform: Fix signals polarity and latch mask Vadim Pasternak
@ 2023-08-13  8:37 ` Vadim Pasternak
  2023-08-13  8:37 ` [PATCH platform 4/4] platform: mellanox: Change register offset addresses Vadim Pasternak
  2023-08-13 12:56 ` [PATCH platform 0/4] platform/x86: mlx-platform: Provide fixes for several issues Hans de Goede
  4 siblings, 0 replies; 6+ messages in thread
From: Vadim Pasternak @ 2023-08-13  8:37 UTC (permalink / raw)
  To: hdegoede; +Cc: platform-driver-x86, Vadim Pasternak

Use kernel_power_off() instead of kernel_halt() to pass through
machine_power_off() -> pm_power_off(), otherwise axillary power does
not go off.

Change "power down" bitmask.

Fixes: dd635e33b5c9 ("platform: mellanox: Introduce support of new Nvidia L1 switch")
Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Reviewed-by: Michael Shych <michaelsh@nvidia.com>
---
 drivers/platform/x86/mlx-platform.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/x86/mlx-platform.c b/drivers/platform/x86/mlx-platform.c
index 69256af04f05..240bc3174caf 100644
--- a/drivers/platform/x86/mlx-platform.c
+++ b/drivers/platform/x86/mlx-platform.c
@@ -222,7 +222,7 @@
 					 MLXPLAT_CPLD_AGGR_MASK_LC_SDWN)
 #define MLXPLAT_CPLD_LOW_AGGR_MASK_LOW	0xc1
 #define MLXPLAT_CPLD_LOW_AGGR_MASK_ASIC2	BIT(2)
-#define MLXPLAT_CPLD_LOW_AGGR_MASK_PWR_BUT	BIT(4)
+#define MLXPLAT_CPLD_LOW_AGGR_MASK_PWR_BUT	GENMASK(5, 4)
 #define MLXPLAT_CPLD_LOW_AGGR_MASK_I2C	BIT(6)
 #define MLXPLAT_CPLD_PSU_MASK		GENMASK(1, 0)
 #define MLXPLAT_CPLD_PWR_MASK		GENMASK(1, 0)
@@ -2356,7 +2356,7 @@ mlxplat_mlxcpld_l1_switch_pwr_events_handler(void *handle, enum mlxreg_hotplug_k
 					     u8 action)
 {
 	dev_info(&mlxplat_dev->dev, "System shutdown due to short press of power button");
-	kernel_halt();
+	kernel_power_off();
 	return 0;
 }
 
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH platform 4/4] platform: mellanox: Change register offset addresses
  2023-08-13  8:37 [PATCH platform 0/4] platform/x86: mlx-platform: Provide fixes for several issues Vadim Pasternak
                   ` (2 preceding siblings ...)
  2023-08-13  8:37 ` [PATCH platform 3/4] platform: mellanox: mlx-platform: Modify graceful shutdown callback and power down mask Vadim Pasternak
@ 2023-08-13  8:37 ` Vadim Pasternak
  2023-08-13 12:56 ` [PATCH platform 0/4] platform/x86: mlx-platform: Provide fixes for several issues Hans de Goede
  4 siblings, 0 replies; 6+ messages in thread
From: Vadim Pasternak @ 2023-08-13  8:37 UTC (permalink / raw)
  To: hdegoede; +Cc: platform-driver-x86, Vadim Pasternak

Move debug register offsets to different location due to hardware changes.

Fixes: dd635e33b5c9 ("platform: mellanox: Introduce support of new Nvidia L1 switch")
Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Reviewed-by: Michael Shych <michaelsh@nvidia.com>
---
 drivers/platform/x86/mlx-platform.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/platform/x86/mlx-platform.c b/drivers/platform/x86/mlx-platform.c
index 240bc3174caf..7d33977d9c60 100644
--- a/drivers/platform/x86/mlx-platform.c
+++ b/drivers/platform/x86/mlx-platform.c
@@ -62,10 +62,6 @@
 #define MLXPLAT_CPLD_LPC_REG_PWM_CONTROL_OFFSET	0x37
 #define MLXPLAT_CPLD_LPC_REG_AGGR_OFFSET	0x3a
 #define MLXPLAT_CPLD_LPC_REG_AGGR_MASK_OFFSET	0x3b
-#define MLXPLAT_CPLD_LPC_REG_DBG1_OFFSET	0x3c
-#define MLXPLAT_CPLD_LPC_REG_DBG2_OFFSET	0x3d
-#define MLXPLAT_CPLD_LPC_REG_DBG3_OFFSET	0x3e
-#define MLXPLAT_CPLD_LPC_REG_DBG4_OFFSET	0x3f
 #define MLXPLAT_CPLD_LPC_REG_AGGRLO_OFFSET	0x40
 #define MLXPLAT_CPLD_LPC_REG_AGGRLO_MASK_OFFSET	0x41
 #define MLXPLAT_CPLD_LPC_REG_AGGRCO_OFFSET	0x42
@@ -126,6 +122,10 @@
 #define MLXPLAT_CPLD_LPC_REG_LC_SD_EVENT_OFFSET	0xaa
 #define MLXPLAT_CPLD_LPC_REG_LC_SD_MASK_OFFSET	0xab
 #define MLXPLAT_CPLD_LPC_REG_LC_PWR_ON		0xb2
+#define MLXPLAT_CPLD_LPC_REG_DBG1_OFFSET	0xb6
+#define MLXPLAT_CPLD_LPC_REG_DBG2_OFFSET	0xb7
+#define MLXPLAT_CPLD_LPC_REG_DBG3_OFFSET	0xb8
+#define MLXPLAT_CPLD_LPC_REG_DBG4_OFFSET	0xb9
 #define MLXPLAT_CPLD_LPC_REG_GP4_RO_OFFSET	0xc2
 #define MLXPLAT_CPLD_LPC_REG_SPI_CHNL_SELECT	0xc3
 #define MLXPLAT_CPLD_LPC_REG_WD_CLEAR_OFFSET	0xc7
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH platform 0/4] platform/x86: mlx-platform: Provide fixes for several issues
  2023-08-13  8:37 [PATCH platform 0/4] platform/x86: mlx-platform: Provide fixes for several issues Vadim Pasternak
                   ` (3 preceding siblings ...)
  2023-08-13  8:37 ` [PATCH platform 4/4] platform: mellanox: Change register offset addresses Vadim Pasternak
@ 2023-08-13 12:56 ` Hans de Goede
  4 siblings, 0 replies; 6+ messages in thread
From: Hans de Goede @ 2023-08-13 12:56 UTC (permalink / raw)
  To: Vadim Pasternak; +Cc: platform-driver-x86

Hi,

On 8/13/23 10:37, Vadim Pasternak wrote:
> The patch set includes fixes for several issues:
> Patch #1: fixes exit flow order.
> Patch #2: fixes signals definitions.
> Patch #3: fixes platform shutdown callback.
> Patch #3: fixes register offsets
> 
> Vadim Pasternak (4):
>   platform: mellanox: Fix order in exit flow
>   platform: mellanox: mlx-platform: Fix signals polarity and latch mask
>   platform: mellanox: mlx-platform: Modify graceful shutdown callback
>     and power down mask
>   platform: mellanox: Change register offset addresses

Thank you for your series, I've applied this series
to the pdx86/fixes branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes

I will include this series in my next fixes pull-req to Linus
for the current kernel development cycle.

Regards,

Hans



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-08-13 12:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-13  8:37 [PATCH platform 0/4] platform/x86: mlx-platform: Provide fixes for several issues Vadim Pasternak
2023-08-13  8:37 ` [PATCH platform 1/4] platform: mellanox: Fix order in exit flow Vadim Pasternak
2023-08-13  8:37 ` [PATCH platform 2/4] platform: mellanox: mlx-platform: Fix signals polarity and latch mask Vadim Pasternak
2023-08-13  8:37 ` [PATCH platform 3/4] platform: mellanox: mlx-platform: Modify graceful shutdown callback and power down mask Vadim Pasternak
2023-08-13  8:37 ` [PATCH platform 4/4] platform: mellanox: Change register offset addresses Vadim Pasternak
2023-08-13 12:56 ` [PATCH platform 0/4] platform/x86: mlx-platform: Provide fixes for several issues Hans de Goede

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox