On Sun, 03 Nov 2024, Jonathan Gray <jsg@xxxxxxxxx> wrote: > intel_pxp_gsccs_is_ready_for_sessions() is gated by CONFIG_DRM_I915_PXP > but called from intel_pxp.c which isn't. Provide a fallback inline > function to fix the non-optimised build. What does this have to do with optimization? Isn't the build just plain broken for PXP=n? BR, Jani. > > Fixes: 99afb7cc8c44 ("drm/i915/pxp: Add ARB session creation and cleanup") > Signed-off-by: Jonathan Gray <jsg@xxxxxxxxx> > --- > drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.h | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.h b/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.h > index 9aae779c4da3..b93488e99685 100644 > --- a/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.h > +++ b/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.h > @@ -16,26 +16,30 @@ struct intel_pxp; > #define GSC_PENDING_RETRY_PAUSE_MS 50 > #define GSCFW_MAX_ROUND_TRIP_LATENCY_MS (GSC_HECI_REPLY_LATENCY_MS + \ > (GSC_PENDING_RETRY_MAXCOUNT * GSC_PENDING_RETRY_PAUSE_MS)) > > #ifdef CONFIG_DRM_I915_PXP > void intel_pxp_gsccs_fini(struct intel_pxp *pxp); > int intel_pxp_gsccs_init(struct intel_pxp *pxp); > +bool intel_pxp_gsccs_is_ready_for_sessions(struct intel_pxp *pxp); > > int intel_pxp_gsccs_create_session(struct intel_pxp *pxp, int arb_session_id); > void intel_pxp_gsccs_end_arb_fw_session(struct intel_pxp *pxp, u32 arb_session_id); > > #else > static inline void intel_pxp_gsccs_fini(struct intel_pxp *pxp) > { > } > > static inline int intel_pxp_gsccs_init(struct intel_pxp *pxp) > { > return 0; > } > > -#endif > +static inline bool intel_pxp_gsccs_is_ready_for_sessions(struct intel_pxp *pxp) > +{ > + return false; > +} > > -bool intel_pxp_gsccs_is_ready_for_sessions(struct intel_pxp *pxp); > +#endif > > #endif /*__INTEL_PXP_GSCCS_H__ */ -- Jani Nikula, Intel