This set changes the hdmi device tree node to properly represent the version of
the IP block. The first patch changes the drm hdmi driver to use the compatible
field to determine which registers/functions to call, and removes the
unfortunate v1.3/v1.4 naming convention. The second patch updates the arch-
specific bits for exynos5.
Changes in v3:
- Use compatible field in device tree instead of hdmi-version field
- Change hdmi driver's naming to use IP version instead of hdmi version
Sean …
[View More]Paul (2):
drm/exynos: Get HDMI version from device tree
ARM: Change exynos5-hdmi references to exynos4-hdmi
.../devicetree/bindings/drm/exynos/hdmi.txt | 9 +-
arch/arm/boot/dts/exynos5250.dtsi | 3 +-
arch/arm/mach-exynos/clock-exynos5.c | 4 +-
arch/arm/mach-exynos/mach-exynos5-dt.c | 4 +-
drivers/gpu/drm/exynos/exynos_hdmi.c | 354 ++++++++++----------
drivers/gpu/drm/exynos/regs-hdmi.h | 78 +++---
6 files changed, 229 insertions(+), 223 deletions(-)
--
1.7.7.3
[View Less]
https://bugs.freedesktop.org/show_bug.cgi?id=36723
Summary: [r300g, bisected] Unigine Sanctuary: fog is not
rendered properly
Product: Mesa
Version: git
Platform: All
URL: http://www.unigine.com/download/#sanctuary
OS/Version: Linux (All)
Status: NEW
Keywords: regression
Severity: minor
Priority: medium
Component: Drivers/Gallium/r300
AssignedTo: dri-…
[View More]devel(a)lists.freedesktop.org
ReportedBy: pavel.ondracka(a)email.cz
Created an attachment (id=46198)
--> (https://bugs.freedesktop.org/attachment.cgi?id=46198)
screenshot of the problem
Fog in Unigine Sanctuary is not rendered properly, there are some "stripes" in
the fog, which weren't present before. Screenshot attached.
fe622bac0c1b5b9f2a9fcf9f35b51232a06bea42 is the first bad commit
commit fe622bac0c1b5b9f2a9fcf9f35b51232a06bea42
Author: Tom Stellard <tstellar(a)gmail.com>
Date: Tue Jan 11 00:05:08 2011 -0800
r300/compiler: Rewrite register allocator
The new allocator uses ra and does swizzle packing.
Also, a data structure (struct rc_variable) and associated functions have
been added for generating UD and DU chains.
This may also be related to the floating textures, since the fog wasn't
rendered at all before the floating work was committed.
GPU: RV530
mesa: d7cf9833d7138daa1c2acdc489ab0c86c2ea7e41
kernel: 2.6.38.2
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
[View Less]
From: Jesse Barnes <jbarnes(a)virtuousgeek.org>
Rather than building a config which may or may not work, let the driver
build an initial fb config. This allows the driver to use the BIOS boot
configuration for example, displaying kernel messages and the initial fb
console on the same outputs the BIOS lit up at boot time. If that
fails, the driver can still fall back the same way as the core.
Signed-off-by: Jesse Barnes <jbarnes(a)virtuousgeek.org>
Signed-off-by: Chris Wilson …
[View More]<chris(a)chris-wilson.co.uk>
Cc: dri-devel(a)lists.freedesktop.org
---
drivers/gpu/drm/drm_fb_helper.c | 23 +++++++++++++++--------
include/drm/drm_fb_helper.h | 4 ++++
2 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 954d175..924901d 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -1247,7 +1247,7 @@ static void drm_setup_crtcs(struct drm_fb_helper *fb_helper)
struct drm_mode_set *modeset;
bool *enabled;
int width, height;
- int i, ret;
+ int i;
DRM_DEBUG_KMS("\n");
@@ -1268,16 +1268,23 @@ static void drm_setup_crtcs(struct drm_fb_helper *fb_helper)
drm_enable_connectors(fb_helper, enabled);
- ret = drm_target_cloned(fb_helper, modes, enabled, width, height);
- if (!ret) {
- ret = drm_target_preferred(fb_helper, modes, enabled, width, height);
- if (!ret)
+ if (!(fb_helper->funcs->initial_config &&
+ fb_helper->funcs->initial_config(fb_helper, crtcs, modes,
+ enabled, width, height))) {
+ memset(modes, 0, dev->mode_config.num_connector*sizeof(modes[0]));
+ memset(crtcs, 0, dev->mode_config.num_connector*sizeof(crtcs[0]));
+
+ if (!drm_target_cloned(fb_helper,
+ modes, enabled, width, height) &&
+ !drm_target_preferred(fb_helper,
+ modes, enabled, width, height))
DRM_ERROR("Unable to find initial modes\n");
- }
- DRM_DEBUG_KMS("picking CRTCs for %dx%d config\n", width, height);
+ DRM_DEBUG_KMS("picking CRTCs for %dx%d config\n",
+ width, height);
- drm_pick_crtcs(fb_helper, crtcs, modes, 0, width, height);
+ drm_pick_crtcs(fb_helper, crtcs, modes, 0, width, height);
+ }
/* need to set the modesets up here for use later */
/* fill out the connector<->crtc mappings into the modesets */
diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h
index 5120b01..40b0c5c 100644
--- a/include/drm/drm_fb_helper.h
+++ b/include/drm/drm_fb_helper.h
@@ -56,6 +56,10 @@ struct drm_fb_helper_funcs {
int (*fb_probe)(struct drm_fb_helper *helper,
struct drm_fb_helper_surface_size *sizes);
+ bool (*initial_config)(struct drm_fb_helper *fb_helper,
+ struct drm_fb_helper_crtc **crtcs,
+ struct drm_display_mode **modes,
+ bool *enabled, int width, int height);
};
struct drm_fb_helper_connector {
--
1.7.10.4
[View Less]