On Thu, 30 Sep 2021, Jani Nikula <[email protected]> wrote:
> On Thu, 30 Sep 2021, Ville Syrjälä <[email protected]> wrote:
>> On Thu, Sep 30, 2021 at 12:22:58PM +0300, Jani Nikula wrote:
>> <snip>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_fdi.c 
>>> b/drivers/gpu/drm/i915/display/intel_fdi.c
>>> index af01d1fa761e..02d3294bad7b 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_fdi.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_fdi.c
>>> @@ -10,6 +10,97 @@
>>>  #include "intel_fdi.h"
>>>  #include "intel_sideband.h"
>>>  
>>> +static void assert_fdi_tx(struct drm_i915_private *dev_priv,
>>> +                     enum pipe pipe, bool state)
>>> +{
>>> +   bool cur_state;
>>> +
>>> +   if (HAS_DDI(dev_priv)) {
>>> +           /*
>>> +            * DDI does not have a specific FDI_TX register.
>>> +            *
>>> +            * FDI is never fed from EDP transcoder
>>> +            * so pipe->transcoder cast is fine here.
>>> +            */
>>> +           enum transcoder cpu_transcoder = (enum transcoder)pipe;
>>> +           cur_state = intel_de_read(dev_priv, 
>>> TRANS_DDI_FUNC_CTL(cpu_transcoder)) & TRANS_DDI_FUNC_ENABLE;
>>> +   } else {
>>> +           cur_state = intel_de_read(dev_priv, FDI_TX_CTL(pipe)) & 
>>> FDI_TX_ENABLE;
>>> +   }
>>> +   I915_STATE_WARN(cur_state != state,
>>> +                   "FDI TX state assertion failure (expected %s, current 
>>> %s)\n",
>>> +                   onoff(state), onoff(cur_state));
>>> +}
>>> +
>>> +void assert_fdi_tx_enabled(struct drm_i915_private *i915, enum pipe pipe)
>>> +{
>>> +   assert_fdi_tx(i915, pipe, true);
>>> +}
>>> +
>>> +void assert_fdi_tx_disabled(struct drm_i915_private *i915, enum pipe pipe)
>>> +{
>>> +   assert_fdi_tx(i915, pipe, false);
>>> +}
>>
>> For these wrappers I could argue that static inlines would be less
>> loc overall, while still wouldn't need any extra struct definitions/etc.
>> in the header. But not performance sensitive so from that pov static
>> inline is pointless.
>
> I didn't actually check the compiler output, but I think even
> performance wise it'll probably end up being just one function call
> either way. It's just a question which side of the call the logic
> is. But agreed, doesn't really matter.
>
> Anyway, the main argument I have for avoiding static inlines is to not
> set an example to cargo cult from. They should be the exception, not the
> rule. I think both the driver and the team have grown big enough to
> require a style that promotes better structure. Because let's face it,
> people look at what's there, copy the style, and not think of all the
> subtleties.
>
>> Anyways, this approach seems fine to me. For the series
>> Reviewed-by: Ville Syrjälä <[email protected]>
>
> Thanks,
> Jani.

And pushed.

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Graphics Center

Reply via email to