Re: [PATCH v1 1/8] platform/x86: mlx-platform: Add mlxreg-fan platform driver activation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 25, 2018 at 04:42:18PM +0000, Vadim Pasternak wrote:
> 
> 
> > -----Original Message-----
> > From: Vadim Pasternak
> > Sent: Wednesday, July 25, 2018 7:22 PM
> > To: 'Darren Hart' <dvhart@xxxxxxxxxxxxx>
> > Cc: andy.shevchenko@xxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; platform-
> > driver-x86@xxxxxxxxxxxxxxx; jiri@xxxxxxxxxxx; Michael Shych
> > <michaelsh@xxxxxxxxxxxx>; ivecera@xxxxxxxxxx
> > Subject: RE: [PATCH v1 1/8] platform/x86: mlx-platform: Add mlxreg-fan
> > platform driver activation
> > 
> > 
> > 
> > > -----Original Message-----
> > > From: Darren Hart [mailto:dvhart@xxxxxxxxxxxxx]
> > > Sent: Wednesday, July 25, 2018 6:59 PM
> > > To: Vadim Pasternak <vadimp@xxxxxxxxxxxx>
> > > Cc: andy.shevchenko@xxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; platform-
> > > driver-x86@xxxxxxxxxxxxxxx; jiri@xxxxxxxxxxx; Michael Shych
> > > <michaelsh@xxxxxxxxxxxx>; ivecera@xxxxxxxxxx
> > > Subject: Re: [PATCH v1 1/8] platform/x86: mlx-platform: Add mlxreg-fan
> > > platform driver activation
> > >
> > > On Sun, Jul 08, 2018 at 02:31:57PM +0000, Vadim Pasternak wrote:
> > > > Add mlxreg-fan platform driver activation. FAN driver uses the same
> > > > regmap infrastructure as others Mellanox platform drivers. Specific
> > > > registers description for default FAN platform data configuration
> > > > are added to mlx-platform. There are the registers for tachometers
> > > > reading, PWM control and FAN ownership control. The last one has a
> > > > default value, which is set at initialization time through the
> > > > regmap infrastructure, which is necessary for moving FAN control
> > > > ownership from hardware to software.
> > >
> > > Hi Vadim,
> > >
> > > Thanks for the series.
> > >
> > > ...
> > 
> > Hi Darren,
> > 
> > Thank you for reply.
> > 
> > >
> > >
> > > > +/* Platform FAN default */
> > > > +static struct mlxreg_core_data mlxplat_mlxcpld_default_fan_data[] = {
> > > > +	{
> > > > +		.label = "pwm1",
> > > > +		.reg = MLXPLAT_CPLD_LPC_REG_PWM1_OFFSET,
> > > > +	},
> > > > +	{
> > > > +		.label = "tacho1",
> > > > +		.reg = MLXPLAT_CPLD_LPC_REG_TACHO1_OFFSET,
> > > > +		.mask = GENMASK(7, 0),
> > >
> > > to avoid listings like:
> > >
> > > $ ls
> > > tacho1
> > > tacho10
> > > tacho11
> > > tacho12
> > > tacho2
> > > tacho3
> > >
> > > I would suggest 0 padded indexes in the labels:
> > >
> > > tacho01
> > > tacho02
> > > tacho03
> > > ...
> > > tacho11
> > > tacho12
> > > tacho13
> > >
> > > Do you have a strong preference for the non-padding indices?
> > >
> > 
> > No, I can change it as you suggested.
> > In mlxreg-fan I am matching only prefix "tacho"
> > https://kernel.googlesource.com/pub/scm/linux/kernel/git/groeck/linux-
> > staging/+/hwmon-next/drivers/hwmon/mlxreg-fan.c
> > 
> 
> But from other hand, I verified now the convention in hwmon, and I see
> that it follows pwm1, pwm2, fan1, fan2, ..
> These tacho1, tacho2 will be exposed as fan1_input, fan2_input according
> to hwmon infra. And this is also what is expected by user space application.
> So, maybe it's better to leave it as it is?

Ah, fair enough. Yes, can leave as is.

> > > > +	case MLXPLAT_CPLD_LPC_REG_PWM1_OFFSET:
> > >
> > > Is there likely to be more than 9 PWM in the future? Would 01 make
> > > more sense?
> > 
> > No.
> > Currently all our systems has one PWM for x tachometers (where x could be 3, 4,
> > 8, 12).
> > I can imagine that we can have in the future two sets, like {PWM1, X TACHO}
> > and {PWM2, Y TACHO), but not more.
> > Bit I can change it 01 for theoretical case.

Sounds like no need. Can update as needed in the future.

> > 
> > >
> > > > +	case MLXPLAT_CPLD_LPC_REG_PWM_CONTROL_OFFSET:
> > >
> > > Is this PWM generic or specific to PWM1 - if the latter, can we make
> > > the defines match up to make the pairing obvious?
> > 
> > This is generic. The purpose of that to take FAN control ownership by SW.
> > If SW doesn't do it, during long enough time (`5 minutes if I am not wrong After
> > BIOS successful completion indication), CPLD will be FAN master.
> > Two reason for that: to protect the system from overheating in case SW Is dead,
> > for some customer (this is more for InfiniBand systems) we provide unmanaged
> > system - with no CPU.
> > So it can't be per some PWM-TACHo set, but only for all.
> > 
> > Actually all this  FAN support is a new feature in CPLD for our new systems (next
> > generation with 32x200G Eth, 40x200IB new ASICs).

Thanks for the context. Let's leave as is.

-- 
Darren Hart
VMware Open Source Technology Center



[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux