> -----Original Message----- > From: Gupta, Anshuman > Sent: Saturday, December 3, 2022 3:14 PM > To: Dixit, Ashutosh <ashutosh.dixit@xxxxxxxxx>; intel- > gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Nilawar, Badal <badal.nilawar@xxxxxxxxx>; Vivi, Rodrigo > <rodrigo.vivi@xxxxxxxxx> > Subject: RE: [PATCH] drm/i915/hwmon: Silence "mailbox access failed" > warning in snb_pcode_read > > > > > -----Original Message----- > > From: Dixit, Ashutosh <ashutosh.dixit@xxxxxxxxx> > > Sent: Saturday, December 3, 2022 8:45 AM > > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > > Cc: Gupta, Anshuman <anshuman.gupta@xxxxxxxxx>; Nilawar, Badal > > <badal.nilawar@xxxxxxxxx> > > Subject: [PATCH] drm/i915/hwmon: Silence "mailbox access failed" > > warning in snb_pcode_read > > > > hwm_pcode_read_i1 is called during i915 load. This results in the > > following warning from snb_pcode_read because > > POWER_SETUP_SUBCOMMAND_READ_I1 is unsupported on DG1/DG2. > > > > [drm:snb_pcode_read [i915]] warning: pcode (read from mbox 47c) \ > > mailbox access failed for snb_pcode_read_p > > [i915]: -6 > > > > The code handles the unsupported command but the warning in dmesg is a > > red herring which has resulted in a couple of bugs being filed. > > Therefore silence the warning by avoiding calling snb_pcode_read_p for > DG1/DG2. > > > > Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> > > --- > > drivers/gpu/drm/i915/i915_hwmon.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/i915_hwmon.c > > b/drivers/gpu/drm/i915/i915_hwmon.c > > index c588a17f97e98..cca7a4350ec8f 100644 > > --- a/drivers/gpu/drm/i915/i915_hwmon.c > > +++ b/drivers/gpu/drm/i915/i915_hwmon.c > > @@ -293,6 +293,10 @@ static const struct hwmon_channel_info > > *hwm_gt_info[] = { > > /* I1 is exposed as power_crit or as curr_crit depending on bit 31 */ > > static int hwm_pcode_read_i1(struct drm_i915_private *i915, u32 *uval) > > { > > + /* Avoid ILLEGAL_SUBCOMMAND "mailbox access failed" warning in > > snb_pcode_read */ > > + if (IS_DG1(i915) || IS_DG2(i915)) > > + return -ENXIO; > AFAIK it is specific to client specific parts, how about declaring a is_client > intel_runtime_info flag to distinguish between client and server part. That * intel_device_info* > will also cover any future platform as well. > > BR , > Anshuman > > + > > return snb_pcode_read_p(&i915->uncore, PCODE_POWER_SETUP, > > POWER_SETUP_SUBCOMMAND_READ_I1, 0, > uval); } > > -- > > 2.38.0