lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 11 Jan 2023 16:49:49 +0100
From:   Thomas Zimmermann <tzimmermann@...e.de>
To:     Daniel Vetter <daniel.vetter@...ll.ch>,
        DRI Development <dri-devel@...ts.freedesktop.org>
Cc:     Intel Graphics Development <intel-gfx@...ts.freedesktop.org>,
        LKML <linux-kernel@...r.kernel.org>,
        Daniel Vetter <daniel.vetter@...el.com>,
        Javier Martinez Canillas <javierm@...hat.com>,
        Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
        Maxime Ripard <mripard@...nel.org>,
        Deepak Rawat <drawat.floss@...il.com>,
        Neil Armstrong <neil.armstrong@...aro.org>,
        Kevin Hilman <khilman@...libre.com>,
        Jerome Brunet <jbrunet@...libre.com>,
        Martin Blumenstingl <martin.blumenstingl@...glemail.com>,
        Thierry Reding <thierry.reding@...il.com>,
        Jonathan Hunter <jonathanh@...dia.com>,
        Emma Anholt <emma@...olt.net>, Helge Deller <deller@....de>,
        David Airlie <airlied@...il.com>,
        Daniel Vetter <daniel@...ll.ch>, linux-hyperv@...r.kernel.org,
        linux-amlogic@...ts.infradead.org,
        linux-arm-kernel@...ts.infradead.org, linux-tegra@...r.kernel.org,
        linux-fbdev@...r.kernel.org
Subject: Re: [PATCH 03/11] drm/aperture: Remove primary argument

Hi

Am 11.01.23 um 16:41 schrieb Daniel Vetter:
> Only really pci devices have a business setting this - it's for
> figuring out whether the legacy vga stuff should be nuked too. And
> with the preceeding two patches those are all using the pci version of
> this.
> 
> Which means for all other callers primary == false and we can remove
> it now.

AFAICS this patch needs to be merged with patch 4 to build.

> 
> Signed-off-by: Daniel Vetter <daniel.vetter@...el.com>
> Cc: Thomas Zimmermann <tzimmermann@...e.de>
> Cc: Javier Martinez Canillas <javierm@...hat.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>
> Cc: Maxime Ripard <mripard@...nel.org>
> Cc: Deepak Rawat <drawat.floss@...il.com>
> Cc: Neil Armstrong <neil.armstrong@...aro.org>
> Cc: Kevin Hilman <khilman@...libre.com>
> Cc: Jerome Brunet <jbrunet@...libre.com>
> Cc: Martin Blumenstingl <martin.blumenstingl@...glemail.com>
> Cc: Thierry Reding <thierry.reding@...il.com>
> Cc: Jonathan Hunter <jonathanh@...dia.com>
> Cc: Emma Anholt <emma@...olt.net>
> Cc: Helge Deller <deller@....de>
> Cc: David Airlie <airlied@...il.com>
> Cc: Daniel Vetter <daniel@...ll.ch>
> Cc: linux-hyperv@...r.kernel.org
> Cc: linux-amlogic@...ts.infradead.org
> Cc: linux-arm-kernel@...ts.infradead.org
> Cc: linux-tegra@...r.kernel.org
> Cc: linux-fbdev@...r.kernel.org
> ---
>   drivers/gpu/drm/arm/hdlcd_drv.c             |  2 +-
>   drivers/gpu/drm/armada/armada_drv.c         |  2 +-
>   drivers/gpu/drm/drm_aperture.c              | 11 +++--------
>   drivers/gpu/drm/hyperv/hyperv_drm_drv.c     |  1 -
>   drivers/gpu/drm/meson/meson_drv.c           |  2 +-
>   drivers/gpu/drm/msm/msm_fbdev.c             |  2 +-
>   drivers/gpu/drm/rockchip/rockchip_drm_drv.c |  2 +-
>   drivers/gpu/drm/stm/drv.c                   |  2 +-
>   drivers/gpu/drm/sun4i/sun4i_drv.c           |  2 +-
>   drivers/gpu/drm/tegra/drm.c                 |  2 +-
>   drivers/gpu/drm/vc4/vc4_drv.c               |  2 +-
>   include/drm/drm_aperture.h                  |  7 +++----
>   12 files changed, 15 insertions(+), 22 deletions(-)
> 
> diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c
> index 7043d1c9ed8f..98267e355918 100644
> --- a/drivers/gpu/drm/arm/hdlcd_drv.c
> +++ b/drivers/gpu/drm/arm/hdlcd_drv.c
> @@ -297,7 +297,7 @@ static int hdlcd_drm_bind(struct device *dev)
>   	 */
>   	if (hdlcd_read(hdlcd, HDLCD_REG_COMMAND)) {
>   		hdlcd_write(hdlcd, HDLCD_REG_COMMAND, 0);
> -		drm_aperture_remove_framebuffers(false, &hdlcd_driver);
> +		drm_aperture_remove_framebuffers(&hdlcd_driver);
>   	}
>   
>   	drm_mode_config_reset(drm);
> diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
> index 0643887800b4..c99ec7078301 100644
> --- a/drivers/gpu/drm/armada/armada_drv.c
> +++ b/drivers/gpu/drm/armada/armada_drv.c
> @@ -95,7 +95,7 @@ static int armada_drm_bind(struct device *dev)
>   	}
>   
>   	/* Remove early framebuffers */
> -	ret = drm_aperture_remove_framebuffers(false, &armada_drm_driver);
> +	ret = drm_aperture_remove_framebuffers(&armada_drm_driver);
>   	if (ret) {
>   		dev_err(dev, "[" DRM_NAME ":%s] can't kick out simple-fb: %d\n",
>   			__func__, ret);
> diff --git a/drivers/gpu/drm/drm_aperture.c b/drivers/gpu/drm/drm_aperture.c
> index 3b8fdeeafd53..697cffbfd603 100644
> --- a/drivers/gpu/drm/drm_aperture.c
> +++ b/drivers/gpu/drm/drm_aperture.c
> @@ -32,17 +32,13 @@
>    *
>    *	static int remove_conflicting_framebuffers(struct pci_dev *pdev)
>    *	{
> - *		bool primary = false;
>    *		resource_size_t base, size;
>    *		int ret;
>    *
>    *		base = pci_resource_start(pdev, 0);
>    *		size = pci_resource_len(pdev, 0);
> - *	#ifdef CONFIG_X86
> - *		primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW;
> - *	#endif
>    *
> - *		return drm_aperture_remove_conflicting_framebuffers(base, size, primary,
> + *		return drm_aperture_remove_conflicting_framebuffers(base, size,
>    *		                                                    &example_driver);
>    *	}
>    *
> @@ -161,7 +157,6 @@ EXPORT_SYMBOL(devm_aperture_acquire_from_firmware);
>    * drm_aperture_remove_conflicting_framebuffers - remove existing framebuffers in the given range
>    * @base: the aperture's base address in physical memory
>    * @size: aperture size in bytes
> - * @primary: also kick vga16fb if present
>    * @req_driver: requesting DRM driver
>    *
>    * This function removes graphics device drivers which use the memory range described by
> @@ -171,9 +166,9 @@ EXPORT_SYMBOL(devm_aperture_acquire_from_firmware);
>    * 0 on success, or a negative errno code otherwise
>    */
>   int drm_aperture_remove_conflicting_framebuffers(resource_size_t base, resource_size_t size,
> -						 bool primary, const struct drm_driver *req_driver)
> +						 const struct drm_driver *req_driver)
>   {
> -	return aperture_remove_conflicting_devices(base, size, primary, req_driver->name);
> +	return aperture_remove_conflicting_devices(base, size, false, req_driver->name);
>   }
>   EXPORT_SYMBOL(drm_aperture_remove_conflicting_framebuffers);
>   
> diff --git a/drivers/gpu/drm/hyperv/hyperv_drm_drv.c b/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
> index 427c20ba3404..7e81d58c083f 100644
> --- a/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
> +++ b/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
> @@ -74,7 +74,6 @@ static int hyperv_setup_vram(struct hyperv_drm_device *hv,
>   
>   	drm_aperture_remove_conflicting_framebuffers(screen_info.lfb_base,
>   						     screen_info.lfb_size,
> -						     false,
>   						     &hyperv_driver);
>   
>   	hv->fb_size = (unsigned long)hv->mmio_megabytes * 1024 * 1024;
> diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c
> index 79bfe3938d3c..c8d39809d897 100644
> --- a/drivers/gpu/drm/meson/meson_drv.c
> +++ b/drivers/gpu/drm/meson/meson_drv.c
> @@ -285,7 +285,7 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
>   	 * Remove early framebuffers (ie. simplefb). The framebuffer can be
>   	 * located anywhere in RAM
>   	 */
> -	ret = drm_aperture_remove_framebuffers(false, &meson_driver);
> +	ret = drm_aperture_remove_framebuffers(&meson_driver);
>   	if (ret)
>   		goto free_drm;
>   
> diff --git a/drivers/gpu/drm/msm/msm_fbdev.c b/drivers/gpu/drm/msm/msm_fbdev.c
> index 31e1e30cb52a..84dfbccb6912 100644
> --- a/drivers/gpu/drm/msm/msm_fbdev.c
> +++ b/drivers/gpu/drm/msm/msm_fbdev.c
> @@ -155,7 +155,7 @@ struct drm_fb_helper *msm_fbdev_init(struct drm_device *dev)
>   	}
>   
>   	/* the fw fb could be anywhere in memory */
> -	ret = drm_aperture_remove_framebuffers(false, dev->driver);
> +	ret = drm_aperture_remove_framebuffers(dev->driver);
>   	if (ret)
>   		goto fini;
>   
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> index 6e0788d14c10..d97f2edc646b 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> @@ -140,7 +140,7 @@ static int rockchip_drm_bind(struct device *dev)
>   	int ret;
>   
>   	/* Remove existing drivers that may own the framebuffer memory. */
> -	ret = drm_aperture_remove_framebuffers(false, &rockchip_drm_driver);
> +	ret = drm_aperture_remove_framebuffers(&rockchip_drm_driver);
>   	if (ret) {
>   		DRM_DEV_ERROR(dev,
>   			      "Failed to remove existing framebuffers - %d.\n",
> diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
> index 50410bd99dfe..354349c6e085 100644
> --- a/drivers/gpu/drm/stm/drv.c
> +++ b/drivers/gpu/drm/stm/drv.c
> @@ -185,7 +185,7 @@ static int stm_drm_platform_probe(struct platform_device *pdev)
>   
>   	DRM_DEBUG("%s\n", __func__);
>   
> -	ret = drm_aperture_remove_framebuffers(false, &drv_driver);
> +	ret = drm_aperture_remove_framebuffers(&drv_driver);
>   	if (ret)
>   		return ret;
>   
> diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
> index cc94efbbf2d4..6367b89cbab1 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_drv.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
> @@ -98,7 +98,7 @@ static int sun4i_drv_bind(struct device *dev)
>   		goto cleanup_mode_config;
>   
>   	/* Remove early framebuffers (ie. simplefb) */
> -	ret = drm_aperture_remove_framebuffers(false, &sun4i_drv_driver);
> +	ret = drm_aperture_remove_framebuffers(&sun4i_drv_driver);
>   	if (ret)
>   		goto cleanup_mode_config;
>   
> diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
> index 7bd2e65c2a16..d2ff527cf6d7 100644
> --- a/drivers/gpu/drm/tegra/drm.c
> +++ b/drivers/gpu/drm/tegra/drm.c
> @@ -1252,7 +1252,7 @@ static int host1x_drm_probe(struct host1x_device *dev)
>   
>   	drm_mode_config_reset(drm);
>   
> -	err = drm_aperture_remove_framebuffers(false, &tegra_drm_driver);
> +	err = drm_aperture_remove_framebuffers(&tegra_drm_driver);
>   	if (err < 0)
>   		goto hub;
>   
> diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
> index 0ccaee57fe9a..0a9e922636b1 100644
> --- a/drivers/gpu/drm/vc4/vc4_drv.c
> +++ b/drivers/gpu/drm/vc4/vc4_drv.c
> @@ -350,7 +350,7 @@ static int vc4_drm_bind(struct device *dev)
>   			return -EPROBE_DEFER;
>   	}
>   
> -	ret = drm_aperture_remove_framebuffers(false, driver);
> +	ret = drm_aperture_remove_framebuffers(driver);
>   	if (ret)
>   		return ret;
>   
> diff --git a/include/drm/drm_aperture.h b/include/drm/drm_aperture.h
> index 7096703c3949..cbe33b49fd5d 100644
> --- a/include/drm/drm_aperture.h
> +++ b/include/drm/drm_aperture.h
> @@ -13,14 +13,13 @@ int devm_aperture_acquire_from_firmware(struct drm_device *dev, resource_size_t
>   					resource_size_t size);
>   
>   int drm_aperture_remove_conflicting_framebuffers(resource_size_t base, resource_size_t size,
> -						 bool primary, const struct drm_driver *req_driver);
> +						 const struct drm_driver *req_driver);
>   
>   int drm_aperture_remove_conflicting_pci_framebuffers(struct pci_dev *pdev,
>   						     const struct drm_driver *req_driver);
>   
>   /**
>    * drm_aperture_remove_framebuffers - remove all existing framebuffers
> - * @primary: also kick vga16fb if present
>    * @req_driver: requesting DRM driver
>    *
>    * This function removes all graphics device drivers. Use this function on systems
> @@ -30,9 +29,9 @@ int drm_aperture_remove_conflicting_pci_framebuffers(struct pci_dev *pdev,
>    * 0 on success, or a negative errno code otherwise
>    */
>   static inline int
> -drm_aperture_remove_framebuffers(bool primary, const struct drm_driver *req_driver)
> +drm_aperture_remove_framebuffers(const struct drm_driver *req_driver)
>   {
> -	return drm_aperture_remove_conflicting_framebuffers(0, (resource_size_t)-1, primary,
> +	return drm_aperture_remove_conflicting_framebuffers(0, (resource_size_t)-1,
>   							    req_driver);
>   }
>   

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev

Download attachment "OpenPGP_signature" of type "application/pgp-signature" (841 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ