From: "Souza, Jose" <jose.souza@intel.com>
To: "Nikula, Jani" <jani.nikula@intel.com>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 3/4] drm/i915: introduce INTEL_DISPLAY_ENABLED()
Date: Thu, 5 Sep 2019 00:00:11 +0000 [thread overview]
Message-ID: <6107715edc8a57da95be1985965cd646ed1e2bdc.camel@intel.com> (raw)
In-Reply-To: <076a8cde1a75d0c8254014fe0310da7deb8dc8d7.1567446845.git.jani.nikula@intel.com>
On Mon, 2019-09-02 at 21:08 +0300, Jani Nikula wrote:
> Prepare for making a distinction between not having display and
> having
> disabled display. Add INTEL_DISPLAY_ENABLED() and use it where
> HAS_DISPLAY() is used. This is initially duplication, as disabling
> display still leads to ->pipe_mask = 0 and HAS_DISPLAY() being false.
>
> Since INTEL_DISPLAY_ENABLED() will not make sense unless
> HAS_DISPLAY()
> is true, include a warning for catching misuses making decisions on
> INTEL_DISPLAY_ENABLED() when HAS_DISPLAY() is false.
>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: José Roberto de Souza <jose.souza@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_bios.c | 2 +-
> drivers/gpu/drm/i915/display/intel_display.c | 4 ++--
> drivers/gpu/drm/i915/display/intel_fbdev.c | 2 +-
> drivers/gpu/drm/i915/display/intel_gmbus.c | 2 +-
> drivers/gpu/drm/i915/i915_drv.c | 8 ++++----
> drivers/gpu/drm/i915/i915_drv.h | 3 +++
> drivers/gpu/drm/i915/intel_pch.c | 2 +-
> 7 files changed, 13 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c
> b/drivers/gpu/drm/i915/display/intel_bios.c
> index efb39f350b19..1def550c68c8 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -1833,7 +1833,7 @@ void intel_bios_init(struct drm_i915_private
> *dev_priv)
> const struct bdb_header *bdb;
> u8 __iomem *bios = NULL;
>
> - if (!HAS_DISPLAY(dev_priv)) {
> + if (!HAS_DISPLAY(dev_priv) || !INTEL_DISPLAY_ENABLED(dev_priv))
> {
> DRM_DEBUG_KMS("Skipping VBT init due to disabled
> display.\n");
> return;
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index e480ffe0ae6e..c3bb18afe6d7 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -15324,7 +15324,7 @@ static void intel_setup_outputs(struct
> drm_i915_private *dev_priv)
>
> intel_pps_init(dev_priv);
>
> - if (!HAS_DISPLAY(dev_priv))
> + if (!HAS_DISPLAY(dev_priv) || !INTEL_DISPLAY_ENABLED(dev_priv))
> return;
>
> if (INTEL_GEN(dev_priv) >= 12) {
> @@ -17227,7 +17227,7 @@ intel_display_capture_error_state(struct
> drm_i915_private *dev_priv)
>
> BUILD_BUG_ON(ARRAY_SIZE(transcoders) != ARRAY_SIZE(error-
> >transcoder));
>
> - if (!HAS_DISPLAY(dev_priv))
> + if (!HAS_DISPLAY(dev_priv) || !INTEL_DISPLAY_ENABLED(dev_priv))
> return NULL;
>
> error = kzalloc(sizeof(*error), GFP_ATOMIC);
> diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c
> b/drivers/gpu/drm/i915/display/intel_fbdev.c
> index d59eee5c5d9c..68338669f054 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
> @@ -444,7 +444,7 @@ int intel_fbdev_init(struct drm_device *dev)
> struct intel_fbdev *ifbdev;
> int ret;
>
> - if (WARN_ON(!HAS_DISPLAY(dev_priv)))
> + if (WARN_ON(!HAS_DISPLAY(dev_priv) ||
> !INTEL_DISPLAY_ENABLED(dev_priv)))
> return -ENODEV;
>
> ifbdev = kzalloc(sizeof(struct intel_fbdev), GFP_KERNEL);
> diff --git a/drivers/gpu/drm/i915/display/intel_gmbus.c
> b/drivers/gpu/drm/i915/display/intel_gmbus.c
> index d6775a005726..3d4d19ac1d14 100644
> --- a/drivers/gpu/drm/i915/display/intel_gmbus.c
> +++ b/drivers/gpu/drm/i915/display/intel_gmbus.c
> @@ -836,7 +836,7 @@ int intel_gmbus_setup(struct drm_i915_private
> *dev_priv)
> unsigned int pin;
> int ret;
>
> - if (!HAS_DISPLAY(dev_priv))
> + if (!HAS_DISPLAY(dev_priv) || !INTEL_DISPLAY_ENABLED(dev_priv))
> return 0;
>
> if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv))
> diff --git a/drivers/gpu/drm/i915/i915_drv.c
> b/drivers/gpu/drm/i915/i915_drv.c
> index cad4d6ba2d2c..f7266d405978 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -338,7 +338,7 @@ static int i915_driver_modeset_probe(struct
> drm_device *dev)
> if (i915_inject_probe_failure(dev_priv))
> return -ENODEV;
>
> - if (HAS_DISPLAY(dev_priv)) {
> + if (HAS_DISPLAY(dev_priv) && INTEL_DISPLAY_ENABLED(dev_priv)) {
> ret = drm_vblank_init(&dev_priv->drm,
> INTEL_NUM_PIPES(dev_priv));
> if (ret)
> @@ -389,7 +389,7 @@ static int i915_driver_modeset_probe(struct
> drm_device *dev)
>
> intel_overlay_setup(dev_priv);
>
> - if (!HAS_DISPLAY(dev_priv))
> + if (!HAS_DISPLAY(dev_priv) || !INTEL_DISPLAY_ENABLED(dev_priv))
> return 0;
>
> ret = intel_fbdev_init(dev);
> @@ -1381,7 +1381,7 @@ static void i915_driver_register(struct
> drm_i915_private *dev_priv)
> } else
> DRM_ERROR("Failed to register driver for userspace
> access!\n");
>
> - if (HAS_DISPLAY(dev_priv)) {
> + if (HAS_DISPLAY(dev_priv) && INTEL_DISPLAY_ENABLED(dev_priv)) {
> /* Must be done after probing outputs */
> intel_opregion_register(dev_priv);
> acpi_video_register();
> @@ -1405,7 +1405,7 @@ static void i915_driver_register(struct
> drm_i915_private *dev_priv)
> * We need to coordinate the hotplugs with the asynchronous
> fbdev
> * configuration, for which we use the fbdev->async_cookie.
> */
> - if (HAS_DISPLAY(dev_priv))
> + if (HAS_DISPLAY(dev_priv) && INTEL_DISPLAY_ENABLED(dev_priv))
> drm_kms_helper_poll_init(dev);
>
> intel_power_domains_enable(dev_priv);
> diff --git a/drivers/gpu/drm/i915/i915_drv.h
> b/drivers/gpu/drm/i915/i915_drv.h
> index 6557cd8ddd7a..ee84370ff7c3 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2186,6 +2186,9 @@ IS_SUBPLATFORM(const struct drm_i915_private
> *i915,
>
> #define HAS_DISPLAY(dev_priv) (INTEL_INFO(dev_priv)->pipe_mask != 0)
>
> +/* Only valid when HAS_DISPLAY() is true */
> +#define INTEL_DISPLAY_ENABLED(dev_priv)
> (WARN_ON(!HAS_DISPLAY(dev_priv)), !i915_modparams.disable_display)
> +
> static inline bool intel_vtd_active(void)
> {
> #ifdef CONFIG_INTEL_IOMMU
> diff --git a/drivers/gpu/drm/i915/intel_pch.c
> b/drivers/gpu/drm/i915/intel_pch.c
> index fa864d8f2b73..111867569efd 100644
> --- a/drivers/gpu/drm/i915/intel_pch.c
> +++ b/drivers/gpu/drm/i915/intel_pch.c
> @@ -188,7 +188,7 @@ void intel_detect_pch(struct drm_i915_private
> *dev_priv)
> * Use PCH_NOP (PCH but no South Display) for PCH platforms
> without
> * display.
> */
> - if (pch && !HAS_DISPLAY(dev_priv)) {
> + if (pch && (!HAS_DISPLAY(dev_priv) ||
> !INTEL_DISPLAY_ENABLED(dev_priv))) {
> DRM_DEBUG_KMS("Display disabled, reverting to NOP
> PCH\n");
> dev_priv->pch_type = PCH_NOP;
> dev_priv->pch_id = 0;
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2019-09-05 0:00 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-02 18:08 [PATCH 0/4] drm/i915: deconflate display disable from no display Jani Nikula
2019-09-02 18:08 ` [PATCH 1/4] drm/i915: add INTEL_NUM_PIPES() and use it Jani Nikula
2019-09-04 23:35 ` Souza, Jose
2019-09-02 18:08 ` [PATCH 2/4] drm/i915: convert device info num_pipes to pipe_mask Jani Nikula
2019-09-04 23:35 ` Souza, Jose
2019-09-02 18:08 ` [PATCH 3/4] drm/i915: introduce INTEL_DISPLAY_ENABLED() Jani Nikula
2019-09-05 0:00 ` Souza, Jose [this message]
2019-09-02 18:08 ` [PATCH 4/4] drm/i915: stop conflating HAS_DISPLAY() and disabled display Jani Nikula
2019-09-04 23:57 ` Souza, Jose
2019-09-02 18:13 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: deconflate display disable from no display Patchwork
2019-09-02 18:37 ` ✗ Fi.CI.BAT: failure " Patchwork
2019-09-05 12:28 ` [PATCH 0/4] " Ville Syrjälä
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=6107715edc8a57da95be1985965cd646ed1e2bdc.camel@intel.com \
--to=jose.souza@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@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.