Re: [PATCH] drm/i915: Enable atomic support by default on supported platforms.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nice! I actually was already thinking of bringing up the fact we should
just be turning this on by default now, especially so we can see atomic
start getting some real use.

So, I'm more then happy to say I support flipping the switch :)
Reviewed-by: Lyude <lyude@xxxxxxxxxx>

On Thu, 2017-02-02 at 08:41 +0100, Maarten Lankhorst wrote:
> i915 is pretty much feature complete. Support for atomic i915-
> specific
> connector properties is still missing; those properties can (for now)
> only be set through the legacy ioctl.
> 
> ILK style watermarks and gen9+ watermarks are handled atomically,
> and nonblocking modesets work. FBC has also been made to work with
> atomic.
> 
> gen4x- and vlv/chv watermarks still need to be fixed, so disable
> atomic
> by default there for now.
> 
> Flip the switch!!
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>
> Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxx
> m>
> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
> Cc: Lyude <cpaul@xxxxxxxxxx>
> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx>
> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx>
> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> ---
> I probably missed a lot of people who also worked on atomic support
> in i915,
> feel free to ack the patch if you've worked on it. :)
> 
>  drivers/gpu/drm/i915/i915_drv.c    | 10 +++++++---
>  drivers/gpu/drm/i915/i915_params.c |  4 ++--
>  2 files changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.c
> b/drivers/gpu/drm/i915/i915_drv.c
> index 0e8eb4b6db00..d4d1abf6d9d2 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -1206,11 +1206,15 @@ static void i915_driver_unregister(struct
> drm_i915_private *dev_priv)
>   */
>  int i915_driver_load(struct pci_dev *pdev, const struct
> pci_device_id *ent)
>  {
> +	const struct intel_device_info *match_info =
> +		(struct intel_device_info *) ent->driver_data;
>  	struct drm_i915_private *dev_priv;
>  	int ret;
>  
> -	if (i915.nuclear_pageflip)
> -		driver.driver_features |= DRIVER_ATOMIC;
> +	/* Enable nuclear pageflip on ILK+, except vlv/chv */
> +	if (!i915.nuclear_pageflip &&
> +	    (match_info->gen < 5 || match_info->has_gmch_display))
> +		driver.driver_features &= ~DRIVER_ATOMIC;
>  
>  	ret = -ENOMEM;
>  	dev_priv = kzalloc(sizeof(*dev_priv), GFP_KERNEL);
> @@ -2614,7 +2618,7 @@ static struct drm_driver driver = {
>  	 */
>  	.driver_features =
>  	    DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_GEM |
> DRIVER_PRIME |
> -	    DRIVER_RENDER | DRIVER_MODESET,
> +	    DRIVER_RENDER | DRIVER_MODESET | DRIVER_ATOMIC,
>  	.open = i915_driver_open,
>  	.lastclose = i915_driver_lastclose,
>  	.preclose = i915_driver_preclose,
> diff --git a/drivers/gpu/drm/i915/i915_params.c
> b/drivers/gpu/drm/i915/i915_params.c
> index 0e280fbd52f1..bb3feabec238 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -205,9 +205,9 @@ module_param_named(verbose_state_checks,
> i915.verbose_state_checks, bool, 0600);
>  MODULE_PARM_DESC(verbose_state_checks,
>  	"Enable verbose logs (ie. WARN_ON()) in case of unexpected
> hw state conditions.");
>  
> -module_param_named_unsafe(nuclear_pageflip, i915.nuclear_pageflip,
> bool, 0600);
> +module_param_named_unsafe(nuclear_pageflip, i915.nuclear_pageflip,
> bool, 0400);
>  MODULE_PARM_DESC(nuclear_pageflip,
> -		 "Force atomic modeset functionality; asynchronous
> mode is not yet supported. (default: false).");
> +		 "Force enable atomic functionality on platforms
> that don't have full support yet.");
>  
>  /* WA to get away with the default setting in VBT for early
> platforms.Will be removed */
>  module_param_named_unsafe(edp_vswing, i915.edp_vswing, int, 0400);
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux