aboutsummaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-02-02 00:55:45 -0500
committerDave Airlie <airlied@redhat.com>2009-03-13 00:23:56 -0400
commitd883f7f1b75c8dcafa891f7b9e69c5a2f0ff6d66 (patch)
tree765a9bf6d3322ecfa42819622981baea2480ba41 /include/drm
parent041b62374c7fedc11a8a1eeda2868612d3d1436c (diff)
drm: Use resource_size_t for drm_get_resource_{start, len}
The DRM uses its own wrappers to obtain resources from PCI devices, which currently convert the resource_size_t into an unsigned long. This is broken on 32-bit platforms with >32-bit physical address space. This fixes them, along with a few occurences of unsigned long used to store such a resource in drivers. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drmP.h6
-rw-r--r--include/drm/drm_crtc.h2
2 files changed, 4 insertions, 4 deletions
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index e5f4ae989abf..34e1676b53d1 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -1173,10 +1173,10 @@ extern int drm_freebufs(struct drm_device *dev, void *data,
1173extern int drm_mapbufs(struct drm_device *dev, void *data, 1173extern int drm_mapbufs(struct drm_device *dev, void *data,
1174 struct drm_file *file_priv); 1174 struct drm_file *file_priv);
1175extern int drm_order(unsigned long size); 1175extern int drm_order(unsigned long size);
1176extern unsigned long drm_get_resource_start(struct drm_device *dev, 1176extern resource_size_t drm_get_resource_start(struct drm_device *dev,
1177 unsigned int resource);
1178extern resource_size_t drm_get_resource_len(struct drm_device *dev,
1177 unsigned int resource); 1179 unsigned int resource);
1178extern unsigned long drm_get_resource_len(struct drm_device *dev,
1179 unsigned int resource);
1180 1180
1181 /* DMA support (drm_dma.h) */ 1181 /* DMA support (drm_dma.h) */
1182extern int drm_dma_setup(struct drm_device *dev); 1182extern int drm_dma_setup(struct drm_device *dev);
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 5ded1acfb543..33ae98ced80e 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -550,7 +550,7 @@ struct drm_mode_config {
550 int min_width, min_height; 550 int min_width, min_height;
551 int max_width, max_height; 551 int max_width, max_height;
552 struct drm_mode_config_funcs *funcs; 552 struct drm_mode_config_funcs *funcs;
553 unsigned long fb_base; 553 resource_size_t fb_base;
554 554
555 /* pointers to standard properties */ 555 /* pointers to standard properties */
556 struct list_head property_blob_list; 556 struct list_head property_blob_list;