Re: [PATCH v7 07/11] arm_mpam: propagate MSC access errors for mpam_reprogram_ris_partid()
Andre Przywara <[email protected]> Tue, 4 Aug 2026 11:15:47 +0200
| Newsgroups | gmane.linux.acpi.devel,gmane.linux.ports.arm.kernel,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
Hi Jonathan, On 8/4/26 00:28, Jonathan Cameron wrote: > On Fri, 31 Jul 2026 19:03:20 +0200 > Andre Przywara <[email protected]> wrote: > >> Allow the mpam_reprogram_ris_partid() function check for and return > > function to check > >> errors, and propagate MSC read and write errors from the lower level up. >> This also covers the callers of this function: mpam_reset_ris() and >> apply_config(). >> >> Signed-off-by: Andre Przywara <[email protected]> > One thing below to perhaps modify if you are respinning > > Reviewed-by: Jonathan Cameron <[email protected]> Thanks! >> --- >> drivers/resctrl/mpam_devices.c | 136 ++++++++++++++++++++++----------- >> 1 file changed, 93 insertions(+), 43 deletions(-) >> >> diff --git a/drivers/resctrl/mpam_devices.c b/drivers/resctrl/mpam_devices.c >> index 38450c55e45e..32088ad1d67e 100644 >> --- a/drivers/resctrl/mpam_devices.c >> +++ b/drivers/resctrl/mpam_devices.c >> @@ -1601,7 +1601,7 @@ void mpam_msmon_reset_mbwu(struct mpam_component *comp, struct mon_cfg *ctx) >> } >> } >> >> -static void mpam_reset_msc_bitmap(struct mpam_msc *msc, u16 reg, u16 wd) >> +static int mpam_reset_msc_bitmap(struct mpam_msc *msc, u16 reg, u16 wd) >> { >> u32 num_words, msb; >> u32 bm = ~0; >> @@ -1610,15 +1610,19 @@ static void mpam_reset_msc_bitmap(struct mpam_msc *msc, u16 reg, u16 wd) >> lockdep_assert_held(&msc->part_sel_lock); >> >> if (wd == 0) >> - return; >> + return 0; >> >> /* >> * Write all ~0 to all but the last 32bit-word, which may >> * have fewer bits... >> */ >> num_words = DIV_ROUND_UP(wd, 32); >> - for (i = 0; i < num_words - 1; i++, reg += sizeof(bm)) >> - __mpam_write_reg(msc, reg, bm); >> + for (i = 0; i < num_words - 1; i++, reg += sizeof(bm)) { > > Not really related to what you are doing here, but if you like you could > reduce the scope of i via > > for (int i = 0;... > > as it isn't used outside of this loop. Yeah, true, but I'd rather keep it, otherwise I might get comments about unrelated changes ;-) > >> + int ret = __mpam_write_reg(msc, reg, bm); >> + >> + if (ret) >> + return ret; > Personally I don't like this style but feel free to ignore as this is I know what you mean, I am always in conflict about the on-the-spot initialisation and the empty line requirement, tearing apart the error check here. Changed to what you suggested. Thanks, Andre. > very much a personal taste thing. I'd do > int ret; > > ret = __mpam_write_reg(msc, reg, bm); > if (ret) > return ret; > } > just to keep the source of error and check for error next to each other. > >> + } > >