From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4D841381AFC for ; Fri, 10 Jul 2026 19:01:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783710064; cv=none; b=W8QdVQU8cLw9zCtVQ8ADomhubP9JMXig45g8uLvLGnXGRnFXAFJlcnAjaVtNZ7plT4IaEQXcajFmcXTHPI/Xki4DJj0txAJP+RlAIPfAt+T6MUiT/ziWqVfCfmZPEfanXuEOJHbOaZklO+KtJ6Om9QTgMXBqNEQEore6315+Uws= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783710064; c=relaxed/simple; bh=c4pCxOSWNeyw9OA8quiOrInnSaw3jSzff/igS4xfCds=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=SCSrTYgPwcTdZMWUC+ZtJ1JgmMl3mU2GWIE7aq9dPSbDZEDft56lsa77GxpJ7O4pl0YoZPQ1A2+NoE2Kd3MbxL2H+vKs/+00pe032VwNSDRPhHQLNd6sdNs6wnuVM3q14C7Oc06PGBA+ib3wfmBi60GzAsBT/g6wfydNCJmfc2k= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=a4Su2zZc; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Z39dhjmy; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="a4Su2zZc"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Z39dhjmy" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66AH3tjD1325653 for ; Fri, 10 Jul 2026 19:01:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= YUtnHG+BK9mkHTRK8KTulqBVc1mAgv0yZV42NgWuxko=; b=a4Su2zZcxKIbqtgu aVHcnGkUDhSYar4MzEDxWyLSpS4NWE2+g19EsgwmsWhLsUSsL7m32MHRiPAu2D4T sh86omXAqfp2ygLRoPNKcshw78PRkN3VggrXmpCky4LK2DvWKMrOtO57bKf3yy5C P4JHRNYGir07WoH8+7K8jNhorx/pZg9tn8O/onZuUmwfMyvFAOY9CkdEwpNL97mm FjkO3f1OKUSSN1p/04dREr4xSSsn0RjJhOD6QtRy4RDn10EdfAR8zdpAsCLMK/6T lc7X9nPNe15L572kbznEUYbeJ/MKziD+v0xpbtaFEvhFJVAE69rs0AXF811cECa1 hOp/yA== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fb339rtvg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 10 Jul 2026 19:01:00 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-3812b0c6f23so1460061a91.1 for ; Fri, 10 Jul 2026 12:01:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783710060; x=1784314860; darn=vger.kernel.org; h=content-transfer-encoding:content-type:mime-version:organization :references:in-reply-to:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to:content-type; bh=YUtnHG+BK9mkHTRK8KTulqBVc1mAgv0yZV42NgWuxko=; b=Z39dhjmym8vqHrctv5qe16ug29QVXNMkirQ3v+OVADlecechJg3LITj31B68OQeZJL ZxfZpiVKuY1i1IawHQGwNf4bqUyJ60bmeWEqyJ5TSyfKJFWCLTK6JOdLCFNKKTZ3NNYX vi2Fkhw/zXIpgPWkFXnUktdQSrTQQe9qqVV3pR5Pk5ZjwVp+Sb4OyN5FvmwZT53hufFB wyWJW9l1mkvH/rU2aM6N7sSKSRDswe3nZ7qepheu9JBKwRvhHSq42eAmSkym8ogsQd4Z 1dl3003bLruQTPXgyi8NZmiB1/2JMsSjWbdROmNMygQ/5ZRlxSu4/uM7Zm3os4Sq/0pj +//Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783710060; x=1784314860; h=content-transfer-encoding:content-type:mime-version:organization :references:in-reply-to:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=YUtnHG+BK9mkHTRK8KTulqBVc1mAgv0yZV42NgWuxko=; b=H+eqE4ANQNlisfooNEVskEQgR/eLeXYuZhLob964fzC9xgOD/7AmB8TST/1B4hlg8f 8Nj1UCYI7v3gQxiEO6mINTE8AAaJTCrS2akEjQKkutYZ1gFn/Ly5/SL1cGAa29qRIfjl IbPECULoc9+79SjB+muF6coyXwrWNzds1MCta2St5s7jwkm3+UcLVNX0PccA67ysKFU3 0Uv18GamkDMwHdADlpfcs+OJSlS3ixM1whLzKObDFoIWwae45QwpVqDmr4idHwEtzn0N K2lw95LOcG/kDB0VCTbYMrQvoYJFASJsroz+A8pVEZd/nOiDtZx+OQPM4ILoSjdok2IQ 3VLA== X-Forwarded-Encrypted: i=1; AHgh+Rqz2LR2/8N2xB+LfJpFqz7xy/1pIAaEgmAQQBn2w+Jnl6+N0qQ40vNs42o0TBVNU/c6HcPrIwOI3PKDsPk=@vger.kernel.org X-Gm-Message-State: AOJu0Yz9OFkxZ7daO3i8U7lROIxWe2BlIBbVV0vgkXdiBk7hzd9sDv3A ZkMikh3aqZcxcDo8B7wqCPsM4j4phJ3jPWr1MaZKhONGvNj4aM5t8s8qtX9EQfDhP/ihgjNHvJu blPPgc1Q0UbEvsS1zKfJ7i1u9oplWBDEhFhZ8FkLIKxykaUcnjCt2nmedluycP8O66ZstWAuE3O g= X-Gm-Gg: AfdE7cnw7EDinXH0vF0/A0APuZaX/Cj2mCKCzpZmq3n2SJALeJYJsBPuBMH1KNncszz riU+luqaunfwJAovNggTDr797ExkmSZVtPblFSrjqvpPH/dknoX/p/dxs1pbWrqDFeUVMPN6n2v sExshl53sA31dqinySg1or4zljGwNw+72BFAq3DkrTU3Mrh9+Gjn2XQAvosiiC+L9DAbgnxE7N/ bfsGVSiODVdotIPw3N2DWvFKCgiH7knZQZZrbJ2k1vSRAmR3pUUqUhbEE9RNFB9tSLvS0+aAh+F nQxgYMWkZv5nDyDARe17rAzYtzXqsiNRhcdVNCZiO7X6++yNtKJSdh/LQryyH295DN2GreEt/gJ GuMZoBgVMY70q9YoZtWdUBKAt/CjIKzj2ciDU X-Received: by 2002:a17:90b:1b06:b0:381:dd0:94e6 with SMTP id 98e67ed59e1d1-38dc7777d42mr196177a91.22.1783710059587; Fri, 10 Jul 2026 12:00:59 -0700 (PDT) X-Received: by 2002:a17:90b:1b06:b0:381:dd0:94e6 with SMTP id 98e67ed59e1d1-38dc7777d42mr196123a91.22.1783710059153; Fri, 10 Jul 2026 12:00:59 -0700 (PDT) Received: from localhost ([50.35.46.84]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3117483dec6sm44214111eec.11.2026.07.10.12.00.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Jul 2026 12:00:58 -0700 (PDT) Date: Fri, 10 Jul 2026 12:00:54 -0700 From: Jonathan Cameron To: Andre Przywara Cc: Lorenzo Pieralisi , Hanjun Guo , Sudeep Holla , Catalin Marinas , Will Deacon , "Rafael J . Wysocki" , Len Brown , James Morse , Ben Horgan , Reinette Chatre , Fenghua Yu , Jonathan Cameron , Srivathsa L Rao , Ganapatrao Kulkarni , Trilok Soni , Srinivas Ramana , Niyas Sait , linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 08/16] arm_mpam: propagate MSC read errors for state saving functions Message-ID: <20260710120054.000035dc@oss.qualcomm.com> In-Reply-To: <20260710144520.917375-9-andre.przywara@arm.com> References: <20260710144520.917375-1-andre.przywara@arm.com> <20260710144520.917375-9-andre.przywara@arm.com> Organization: Qualcomm X-Mailer: Claws Mail 4.4.0 (GTK 3.24.51; x86_64-w64-mingw32) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEwMDE5MCBTYWx0ZWRfX/Xg4/2Tdxwpk 3mqthEqQFW7JxkpNW+rSR8crp6nYnrH9OgvleR3KUVmeQLh5ntaflxXOuB6UddroelGMi7o2B5f BdclV2QAYD5pEwIR62MMWdPIMyafYqI= X-Authority-Analysis: v=2.4 cv=Re6gzVtv c=1 sm=1 tr=0 ts=6a51416c cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=qC1CW/w66vtJz1P9yTJxNA==:17 a=kj9zAlcOel0A:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=7CQSdrXTAAAA:8 a=rMF2o8FrK2TGcKdZMuAA:9 a=CjuIK1q_8ugA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 a=a-qgeE7W1pNrGK8U0ZQC:22 X-Proofpoint-ORIG-GUID: Dz4qE93IZ5hz9nndCcsxZXodiZ_tIhrB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEwMDE5MCBTYWx0ZWRfX1aE7B7/flUhx 7XSEhk3BA4DIfZjkY12q1v0RWjcpM5UdS9J/BIIovJf0tUY3E1WhwZrua8XlqGBmiXkjNPoGA2l 0SnBVIj3p+2d80mXlVgHH153wrS8RRoQ19ZCFdKkGNyXL3tDgGaRMF35iAMoIW2ZAr2nPrHFm4K Xg74q+vO23qckLwa+rv5UVBQhJHvqTaP5QBVmUcvdW2Ccpg6CP4tgf66YXRCDxpWtN6wY4Rt/lO yK+PaOhKbCEwCFUhMI76uz9F4lpz7ycCBPHXK16QXg4ZaX2JJT1KWNYF7wPHQ0vT0S1IAPnMkBs AkYQND8466gaQv7sbckP1sOkXIiQA8i1GczeFnaNBuu8ie1ZSgbYYlczu3BH9hWRxf+xVqA1bst HFJBe04x1KVUYn3p4afVR4nSmroJWFrYK+hELYO27BMnBNvVkBhv1fMEK6GqMZLFGtgVnqgihUL OT8Enku3emDPUytaUbA== X-Proofpoint-GUID: Dz4qE93IZ5hz9nndCcsxZXodiZ_tIhrB X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-10_05,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 clxscore=1015 spamscore=0 lowpriorityscore=0 bulkscore=0 malwarescore=0 priorityscore=1501 phishscore=0 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607100190 On Fri, 10 Jul 2026 16:45:12 +0200 Andre Przywara wrote: > Allow the mpam_save_mbwu_state() function to return an error, and > propagate read errors from the lower level up. I'm not following why propagating errors is related to the if (val != MSMON___L_NRDY) as nothing in this patch is changing val. > > Signed-off-by: Andre Przywara > --- > drivers/resctrl/mpam_devices.c | 30 +++++++++++++++++++----------- > 1 file changed, 19 insertions(+), 11 deletions(-) > > diff --git a/drivers/resctrl/mpam_devices.c b/drivers/resctrl/mpam_devices.c > index 530ac0fe97b5..b2ecaba29fcc 100644 > --- a/drivers/resctrl/mpam_devices.c > +++ b/drivers/resctrl/mpam_devices.c > @@ -1782,7 +1782,7 @@ static int mpam_save_mbwu_state(void *arg) > { > int i; > u64 val; > - int ret = 0; > + int ret; > struct mon_cfg *cfg; > u32 cur_flt, cur_ctl, mon_sel; > struct mpam_msc_ris *ris = arg; > @@ -1799,8 +1799,12 @@ static int mpam_save_mbwu_state(void *arg) > mon_sel = FIELD_PREP(MSMON_CFG_MON_SEL_MON_SEL, i) | > FIELD_PREP(MSMON_CFG_MON_SEL_RIS, ris->ris_idx); > mpam_write_monsel_reg(msc, CFG_MON_SEL, mon_sel); > - mpam_read_monsel_reg(msc, CFG_MBWU_FLT, &cur_flt); > - mpam_read_monsel_reg(msc, CFG_MBWU_CTL, &cur_ctl); > + ret = mpam_read_monsel_reg(msc, CFG_MBWU_FLT, &cur_flt); > + if (ret) > + goto out_unlock; > + ret = mpam_read_monsel_reg(msc, CFG_MBWU_CTL, &cur_ctl); > + if (ret) > + goto out_unlock; > mpam_write_monsel_reg(msc, CFG_MBWU_CTL, 0); > > if (mpam_ris_has_mbwu_long_counter(ris)) { > @@ -1811,20 +1815,24 @@ static int mpam_save_mbwu_state(void *arg) > } else { > u32 val32; > > - mpam_read_monsel_reg(msc, MBWU, &val32); > + ret = mpam_read_monsel_reg(msc, MBWU, &val32); > + if (ret) > + goto out_unlock; > + > val = val32; > mpam_write_monsel_reg(msc, MBWU, 0); > } > > - cfg->mon = i; > - cfg->pmg = FIELD_GET(MSMON_CFG_x_FLT_PMG, cur_flt); > - cfg->match_pmg = FIELD_GET(MSMON_CFG_x_CTL_MATCH_PMG, cur_ctl); > - cfg->partid = FIELD_GET(MSMON_CFG_x_FLT_PARTID, cur_flt); > - mbwu_state->correction += val; > - mbwu_state->enabled = FIELD_GET(MSMON_CFG_x_CTL_EN, cur_ctl); > + if (val != MSMON___L_NRDY) { with ACQUIRE() you can just do if (val == MS_MON__L_NRDY) return; and leave the rest where it was. However I don't actually see what this has to do wiht the main purpose of the patch to propagate errors. Perhaps a bit more detail in the commit message. Thanks, Jonathan > + cfg->mon = i; > + cfg->pmg = FIELD_GET(MSMON_CFG_x_FLT_PMG, cur_flt); > + cfg->match_pmg = FIELD_GET(MSMON_CFG_x_CTL_MATCH_PMG, cur_ctl); > + cfg->partid = FIELD_GET(MSMON_CFG_x_FLT_PARTID, cur_flt); > + mbwu_state->correction += val; > + mbwu_state->enabled = FIELD_GET(MSMON_CFG_x_CTL_EN, cur_ctl); > + } > mpam_mon_sel_unlock(msc); > } > - > return 0; > > out_unlock: