Skip to content

Commit 7c99616

Browse files
committed
drm: Remove drm_mode_config::fb_base
The fb_base in struct drm_mode_config has been unused for a long time. Some drivers set it and some don't leading to a very confusing state where the variable can't be relied upon, because there's no indication as to which driver sets it and which doesn't. The only usage of fb_base is internal to two drivers so instead of trying to force it into all the drivers to get it into a coherent state completely remove it. Signed-off-by: Zack Rusin <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Reviewed-by: Thomas Zimmermann <[email protected]> Acked-by: Christian König <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent b389286 commit 7c99616

File tree

22 files changed

+12
-49
lines changed

22 files changed

+12
-49
lines changed

drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -498,8 +498,6 @@ static int amdgpu_vkms_sw_init(void *handle)
498498
adev_to_drm(adev)->mode_config.preferred_depth = 24;
499499
adev_to_drm(adev)->mode_config.prefer_shadow = 1;
500500

501-
adev_to_drm(adev)->mode_config.fb_base = adev->gmc.aper_base;
502-
503501
r = amdgpu_display_modeset_create_props(adev);
504502
if (r)
505503
return r;

drivers/gpu/drm/amd/amdgpu/dce_v10_0.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2800,8 +2800,6 @@ static int dce_v10_0_sw_init(void *handle)
28002800

28012801
adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true;
28022802

2803-
adev_to_drm(adev)->mode_config.fb_base = adev->gmc.aper_base;
2804-
28052803
r = amdgpu_display_modeset_create_props(adev);
28062804
if (r)
28072805
return r;

drivers/gpu/drm/amd/amdgpu/dce_v11_0.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2918,8 +2918,6 @@ static int dce_v11_0_sw_init(void *handle)
29182918

29192919
adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true;
29202920

2921-
adev_to_drm(adev)->mode_config.fb_base = adev->gmc.aper_base;
2922-
29232921
r = amdgpu_display_modeset_create_props(adev);
29242922
if (r)
29252923
return r;

drivers/gpu/drm/amd/amdgpu/dce_v6_0.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2675,7 +2675,6 @@ static int dce_v6_0_sw_init(void *handle)
26752675
adev_to_drm(adev)->mode_config.preferred_depth = 24;
26762676
adev_to_drm(adev)->mode_config.prefer_shadow = 1;
26772677
adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true;
2678-
adev_to_drm(adev)->mode_config.fb_base = adev->gmc.aper_base;
26792678

26802679
r = amdgpu_display_modeset_create_props(adev);
26812680
if (r)

drivers/gpu/drm/amd/amdgpu/dce_v8_0.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2701,8 +2701,6 @@ static int dce_v8_0_sw_init(void *handle)
27012701

27022702
adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true;
27032703

2704-
adev_to_drm(adev)->mode_config.fb_base = adev->gmc.aper_base;
2705-
27062704
r = amdgpu_display_modeset_create_props(adev);
27072705
if (r)
27082706
return r;

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3816,8 +3816,6 @@ static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
38163816
/* indicates support for immediate flip */
38173817
adev_to_drm(adev)->mode_config.async_page_flip = true;
38183818

3819-
adev_to_drm(adev)->mode_config.fb_base = adev->gmc.aper_base;
3820-
38213819
state = kzalloc(sizeof(*state), GFP_KERNEL);
38223820
if (!state)
38233821
return -ENOMEM;

drivers/gpu/drm/ast/ast_mode.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1767,7 +1767,6 @@ static const struct drm_mode_config_funcs ast_mode_config_funcs = {
17671767
int ast_mode_config_init(struct ast_private *ast)
17681768
{
17691769
struct drm_device *dev = &ast->base;
1770-
struct pci_dev *pdev = to_pci_dev(dev->dev);
17711770
int ret;
17721771

17731772
ret = drmm_mode_config_init(dev);
@@ -1778,7 +1777,6 @@ int ast_mode_config_init(struct ast_private *ast)
17781777
dev->mode_config.min_width = 0;
17791778
dev->mode_config.min_height = 0;
17801779
dev->mode_config.preferred_depth = 24;
1781-
dev->mode_config.fb_base = pci_resource_start(pdev, 0);
17821780

17831781
if (ast->chip == AST2100 ||
17841782
ast->chip == AST2200 ||

drivers/gpu/drm/gma500/framebuffer.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ static int psbfb_create(struct drm_fb_helper *fb_helper,
286286

287287
info->fbops = &psbfb_unaccel_ops;
288288

289-
info->fix.smem_start = dev->mode_config.fb_base;
289+
info->fix.smem_start = dev_priv->fb_base;
290290
info->fix.smem_len = size;
291291
info->fix.ywrapstep = 0;
292292
info->fix.ypanstep = 0;
@@ -296,7 +296,7 @@ static int psbfb_create(struct drm_fb_helper *fb_helper,
296296
info->screen_size = size;
297297

298298
if (dev_priv->gtt.stolen_size) {
299-
info->apertures->ranges[0].base = dev->mode_config.fb_base;
299+
info->apertures->ranges[0].base = dev_priv->fb_base;
300300
info->apertures->ranges[0].size = dev_priv->gtt.stolen_size;
301301
}
302302

@@ -527,7 +527,7 @@ void psb_modeset_init(struct drm_device *dev)
527527

528528
/* set memory base */
529529
/* Oaktrail and Poulsbo should use BAR 2*/
530-
pci_read_config_dword(pdev, PSB_BSM, (u32 *)&(dev->mode_config.fb_base));
530+
pci_read_config_dword(pdev, PSB_BSM, (u32 *)&(dev_priv->fb_base));
531531

532532
/* num pipes is 2 for PSB but 1 for Mrst */
533533
for (i = 0; i < dev_priv->num_pipe; i++)

drivers/gpu/drm/gma500/psb_drv.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,7 @@ struct drm_psb_private {
523523
uint32_t blc_adj2;
524524

525525
struct drm_fb_helper *fb_helper;
526+
resource_size_t fb_base;
526527

527528
bool dsr_enable;
528529
u32 dsr_fb_update;

drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ static int hibmc_kms_init(struct hibmc_drm_private *priv)
105105
dev->mode_config.max_width = 1920;
106106
dev->mode_config.max_height = 1200;
107107

108-
dev->mode_config.fb_base = priv->fb_base;
109108
dev->mode_config.preferred_depth = 32;
110109
dev->mode_config.prefer_shadow = 1;
111110

@@ -212,7 +211,7 @@ static int hibmc_hw_map(struct hibmc_drm_private *priv)
212211
{
213212
struct drm_device *dev = &priv->dev;
214213
struct pci_dev *pdev = to_pci_dev(dev->dev);
215-
resource_size_t addr, size, ioaddr, iosize;
214+
resource_size_t ioaddr, iosize;
216215

217216
ioaddr = pci_resource_start(pdev, 1);
218217
iosize = pci_resource_len(pdev, 1);
@@ -222,16 +221,6 @@ static int hibmc_hw_map(struct hibmc_drm_private *priv)
222221
return -ENOMEM;
223222
}
224223

225-
addr = pci_resource_start(pdev, 0);
226-
size = pci_resource_len(pdev, 0);
227-
priv->fb_map = devm_ioremap(dev->dev, addr, size);
228-
if (!priv->fb_map) {
229-
drm_err(dev, "Cannot map framebuffer\n");
230-
return -ENOMEM;
231-
}
232-
priv->fb_base = addr;
233-
priv->fb_size = size;
234-
235224
return 0;
236225
}
237226

@@ -271,7 +260,8 @@ static int hibmc_load(struct drm_device *dev)
271260
if (ret)
272261
goto err;
273262

274-
ret = drmm_vram_helper_init(dev, pci_resource_start(pdev, 0), priv->fb_size);
263+
ret = drmm_vram_helper_init(dev, pci_resource_start(pdev, 0),
264+
pci_resource_len(pdev, 0));
275265
if (ret) {
276266
drm_err(dev, "Error initializing VRAM MM; %d\n", ret);
277267
goto err;

0 commit comments

Comments
 (0)