On Thu, Aug 28, 2025 at 02:27:23AM -0700, Yuanfang Zhang wrote: [...] > @@ -51,12 +53,17 @@ static void trace_noc_enable_hw(struct trace_noc_drvdata *drvdata) > { > u32 val; > > + /* No valid ATID, simply enable the unit */ > + if (drvdata->atid == -EOPNOTSUPP) { > + writel(TRACE_NOC_CTRL_PORTEN, drvdata->base + TRACE_NOC_CTRL); > + return; > + } > + > /* Set ATID */ > writel_relaxed(drvdata->atid, drvdata->base + TRACE_NOC_XLD); > > /* Set the data word count between 'SYNC' packets */ > writel_relaxed(TRACE_NOC_SYNC_INTERVAL, drvdata->base + TRACE_NOC_SYNCR); > - Unintended change ? > /* Set the Control register: > * - Set the FLAG packets to 'FLAG' packets > * - Set the FREQ packets to 'FREQ_TS' packets > @@ -68,8 +75,8 @@ static void trace_noc_enable_hw(struct trace_noc_drvdata *drvdata) > val &= ~TRACE_NOC_CTRL_FLAGTYPE; > val |= TRACE_NOC_CTRL_FREQTYPE; > val |= TRACE_NOC_CTRL_PORTEN; > - Ditto. > writel(val, drvdata->base + TRACE_NOC_CTRL); > + Ditto. Otherwise, LGTM: Reviewed-by: Leo Yan <leo.yan@xxxxxxx>