On Mon, Nov 03, 2025 at 07:28:14AM -0800, Shameer Kolothum wrote:
> > > case SMMU_CMD_TLBI_NH_VAA:
> > > case SMMU_CMD_TLBI_NH_VA:
> > > + {
> > > + Error *local_err = NULL;
> > > +
> > > if (!STAGE1_SUPPORTED(s)) {
> > > cmd_error = SMMU_CERROR_ILL;
> > > break;
> > > }
> > > smmuv3_range_inval(bs, &cmd, SMMU_STAGE_1);
> > > + if (!smmuv3_accel_issue_inv_cmd(s, &cmd, NULL, &local_err)) {
> > > + error_report_err(local_err);
> > > + cmd_error = SMMU_CERROR_ILL;
> > > + break;
> > > + }
> > > break;
> > > + }
> >
> > The local_err isn't used anywhere but by the error_report_err()
> > alone. So, it could be moved into smmuv3_accel_issue_inv_cmd().
>
> Though that is true, it is following the same pattern as
> smmuv3_accel_install_nested_ste()/_range() functions.
We could drop the one in smmuv3_accel_install_nested_ste() too.
> The general
> idea is, we will pass the errp to accel functions and report or propagate
> from here.
But there is no "errp" in smmuv3_cmdq_consume() to propagate the
these local_errs further? It ends at the error_report_err().
If we only get local_err and print them, why not just print them
inside the _accel functions?
Nicolin