All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Subject: Re: [Intel-gfx] [PATCH RESEND] drm/i915: add display engine uncore helpers
Date: Tue, 21 Jan 2020 15:58:08 +0200	[thread overview]
Message-ID: <87zhegewsv.fsf@intel.com> (raw)
In-Reply-To: <157961182151.3096.1560629940510754606@skylake-alporthouse-com>

On Tue, 21 Jan 2020, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> Quoting Jani Nikula (2020-01-21 11:39:15)
>> Add convenience helpers for the most common uncore operations with
>> struct drm_i915_private * as context rather than struct intel_uncore *.
>> 
>> The goal is to replace all instances of I915_READ(),
>> I915_POSTING_READ(), I915_WRITE(), I915_READ_FW(), and I915_WRITE_FW()
>> in display/ with these, to finally be able to get rid of the implicit
>> dev_priv local parameter use.
>> 
>> The idea is that any non-u32 reads or writes are special enough that
>> they can use the intel_uncore_* functions directly.
>> 
>> v2:
>> - rename the file intel_de.h
>> - move intel_de_wait_for_* there too
>> - also add de fw helpers
>> 
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
>> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
>> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>  drivers/gpu/drm/i915/display/intel_de.h       | 72 +++++++++++++++++++
>>  .../drm/i915/display/intel_display_types.h    |  1 +
>>  drivers/gpu/drm/i915/i915_drv.h               | 14 ----
>>  3 files changed, 73 insertions(+), 14 deletions(-)
>>  create mode 100644 drivers/gpu/drm/i915/display/intel_de.h
>> 
>> diff --git a/drivers/gpu/drm/i915/display/intel_de.h b/drivers/gpu/drm/i915/display/intel_de.h
>> new file mode 100644
>> index 000000000000..00da10bf35f5
>> --- /dev/null
>> +++ b/drivers/gpu/drm/i915/display/intel_de.h
>> @@ -0,0 +1,72 @@
>> +/* SPDX-License-Identifier: MIT */
>> +/*
>> + * Copyright © 2019 Intel Corporation
>> + */
>> +
>> +#ifndef __INTEL_DE_H__
>> +#define __INTEL_DE_H__
>> +
>> +#include "i915_drv.h"
>> +#include "i915_reg.h"
>> +#include "intel_uncore.h"
>> +
>> +static inline u32
>> +intel_de_read(struct drm_i915_private *i915, i915_reg_t reg)
>> +{
>> +       return intel_uncore_read(&i915->uncore, reg);
>> +}
>> +
>> +static inline void
>> +intel_de_posting_read(struct drm_i915_private *i915, i915_reg_t reg)
>> +{
>> +       intel_uncore_posting_read(&i915->uncore, reg);
>> +}
>> +
>> +/* Note: read the warnings for intel_uncore_*_fw() functions! */
>> +static inline u32
>> +intel_de_read_fw(struct drm_i915_private *i915, i915_reg_t reg)
>> +{
>> +       return intel_uncore_read_fw(&i915->uncore, reg);
>> +}
>> +
>> +static inline void
>> +intel_de_write(struct drm_i915_private *i915, i915_reg_t reg, u32 val)
>> +{
>> +       intel_uncore_write(&i915->uncore, reg, val);
>> +}
>> +
>> +/* Note: read the warnings for intel_uncore_*_fw() functions! */
>> +static inline void
>> +intel_de_write_fw(struct drm_i915_private *i915, i915_reg_t reg, u32 val)
>> +{
>> +       intel_uncore_write_fw(&i915->uncore, reg, val);
>> +}
>> +
>> +static inline void
>> +intel_de_rmw(struct drm_i915_private *i915, i915_reg_t reg, u32 clear, u32 set)
>> +{
>> +       intel_uncore_rmw(&i915->uncore, reg, clear, set);
>> +}
>> +
>> +static inline int
>> +intel_de_wait_for_register(struct drm_i915_private *i915, i915_reg_t reg,
>> +                          u32 mask, u32 value, unsigned int timeout)
>> +{
>> +       return intel_wait_for_register(&i915->uncore, reg, mask, value, timeout);
>> +}
>> +
>> +static inline int
>> +intel_de_wait_for_set(struct drm_i915_private *i915, i915_reg_t reg,
>> +                     u32 mask, unsigned int timeout)
>> +{
>> +       return intel_de_wait_for_register(i915, reg, mask, mask, timeout);
>> +}
>> +
>> +static inline int
>> +intel_de_wait_for_clear(struct drm_i915_private *i915, i915_reg_t reg,
>> +                       u32 mask, unsigned int timeout)
>> +{
>> +       return intel_de_wait_for_register(i915, reg, mask, 0, timeout);
>> +}
>> +
>> +#endif /* __INTEL_DE_H__ */
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
>> index 155ce49ae764..0d7adc2c167a 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
>> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
>> @@ -44,6 +44,7 @@
>>  #include <media/cec-notifier.h>
>>  
>>  #include "i915_drv.h"
>> +#include "intel_de.h"
>
> I don't think you want to include it from types.h though -- I think you
> want to avoid inlines (at least inlines that depend upon external types)
> away from the types.h so you can avoid the dreaded cycles.

Eventually yes, but I also don't want to splatter #include "intel_de.h"
everywhere just yet... this seemed to fit the bill. ;)

> So other than that,
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
>
> Or you may want to make the placement of the final include(s) a
> separate patch.

Thanks for the review. Do you insist on a re-spin with the includes
sorted out before merge?

BR,
Jani.



-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2020-01-21 13:58 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-21 11:39 [Intel-gfx] [PATCH RESEND] drm/i915: add display engine uncore helpers Jani Nikula
2020-01-21 12:25 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2020-01-21 12:55 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2020-01-21 13:03 ` [Intel-gfx] [PATCH RESEND] " Chris Wilson
2020-01-21 13:58   ` Jani Nikula [this message]
2020-01-21 14:11     ` Chris Wilson
2020-01-23  9:36       ` Jani Nikula
2020-01-21 15:10 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: add display engine uncore helpers (rev2) Patchwork
2020-01-21 15:37 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2020-01-21 18:54 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: add display engine uncore helpers (rev3) Patchwork
2020-01-21 19:18 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-01-23  1:14 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2020-01-23 18:00 ` [Intel-gfx] ✓ Fi.CI.IGT: success " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zhegewsv.fsf@intel.com \
    --to=jani.nikula@intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=lucas.demarchi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.