drm/tegra: Remove bogus tegra_framebuffer structure
authorThierry Reding <thierry.reding@avionic-design.de>
Tue, 19 Feb 2013 15:22:51 +0000 (16:22 +0100)
committerThierry Reding <thierry.reding@avionic-design.de>
Fri, 22 Feb 2013 07:21:10 +0000 (08:21 +0100)
Tegra uses the CMA FB helpers so framebuffers passed to the driver need
to use the corresponding functions to access the underlying GEM objects.

This used to work because struct tegra_framebuffer was sufficiently
similar to struct drm_fb_cma but that isn't guaranteed to stay that way.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
drivers/gpu/drm/tegra/dc.c
drivers/gpu/drm/tegra/drm.h

index 656b2e3334a621109426806043032ae3422d9631..d35ff8be7ae8a0b95c335feba2a9aea73610111b 100644 (file)
@@ -158,7 +158,7 @@ static int tegra_crtc_mode_set(struct drm_crtc *crtc,
                               struct drm_display_mode *adjusted,
                               int x, int y, struct drm_framebuffer *old_fb)
 {
-       struct tegra_framebuffer *fb = to_tegra_fb(crtc->fb);
+       struct drm_gem_cma_object *gem = drm_fb_cma_get_gem_obj(crtc->fb, 0);
        struct tegra_dc *dc = to_tegra_dc(crtc);
        unsigned int h_dda, v_dda, bpp;
        struct tegra_dc_window win;
index 741b5dc2742cc7498fb3f763c273da81885222ba..3c61aab5fcb756fef91f471a1a82bf0325e5d0fb 100644 (file)
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fixed.h>
 
-struct tegra_framebuffer {
-       struct drm_framebuffer base;
-       struct drm_gem_cma_object *obj;
-};
-
-static inline struct tegra_framebuffer *to_tegra_fb(struct drm_framebuffer *fb)
-{
-       return container_of(fb, struct tegra_framebuffer, base);
-}
-
 struct host1x {
        struct drm_device *drm;
        struct device *dev;
@@ -44,7 +34,6 @@ struct host1x {
        struct list_head clients;
 
        struct drm_fbdev_cma *fbdev;
-       struct tegra_framebuffer fb;
 };
 
 struct host1x_client;