[Intel-gfx] [PATCH] configure: updated m4 macro check in configure.ac

2010-12-21 Thread U. Artie Eoff
Added m4 check for XORG_DRIVER_CHECK_EXT macro definition.  Updated m4 fatal 
messages to give better hint on how to resolve error when xorg macros are 
missing.  Previously, configure would continue in spite of the missing macros 
and the build would fail for syntax errors. 
---
 configure.ac |8 +++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/configure.ac b/configure.ac
index 05848ea..e6517e6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -36,10 +36,16 @@ AM_MAINTAINER_MODE
 
 # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
 m4_ifndef([XORG_MACROS_VERSION],
-  [m4_fatal([must install xorg-macros 1.8 or later before running 
autoconf/autogen])])
+  [m4_fatal([must install xorg-macros 1.8 or later before running 
autoconf/autogen.
+  Try "apt-get install xutils-dev" or "yum install xorg-x11-util-macros"])])
 XORG_MACROS_VERSION(1.8)
 XORG_DEFAULT_OPTIONS
 
+# Require X.Org server macros (i.e. XORG_DRIVER_CHECK_EXT) to check for 
required modules 
+m4_ifndef([XORG_DRIVER_CHECK_EXT],
+  [m4_fatal([must install xorg-server macros before running 
autoconf/autogen.
+  Try "apt-get install xserver-xorg-dev" or "yum install 
xorg-x11-server-devel"])])
+
 # Initialize libtool
 AC_DISABLE_STATIC
 AC_PROG_LIBTOOL
-- 
1.7.3.3

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH] configure: suggest upstream to find macros in case they're missing.

2010-12-21 Thread U. Artie Eoff
added upstream suggestion to error message in case xorg macros or
xserver macros are missing. removed package manager references in
suggestion since these are 'user' and/or 'distribution' preferences.
---
 configure.ac |7 +--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index e6517e6..ddb37a4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -37,14 +37,17 @@ AM_MAINTAINER_MODE
 # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
 m4_ifndef([XORG_MACROS_VERSION],
   [m4_fatal([must install xorg-macros 1.8 or later before running 
autoconf/autogen.
-  Try "apt-get install xutils-dev" or "yum install xorg-x11-util-macros"])])
+  Hint: either install from source, 
git://anongit.freedesktop.org/xorg/util/macros or,
+  depending on you distribution, try package 'xutils-dev' or 
'xorg-x11-util-macros'])])
+
 XORG_MACROS_VERSION(1.8)
 XORG_DEFAULT_OPTIONS
 
 # Require X.Org server macros (i.e. XORG_DRIVER_CHECK_EXT) to check for 
required modules 
 m4_ifndef([XORG_DRIVER_CHECK_EXT],
   [m4_fatal([must install xorg-server macros before running 
autoconf/autogen.
-  Try "apt-get install xserver-xorg-dev" or "yum install 
xorg-x11-server-devel"])])
+  Hint: either install from source, git://anongit.freedesktop.org/xorg/xserver 
or,
+  depending on your distribution, try package 'xserver-xorg-dev' or 
'xorg-x11-server-devel'])])
 
 # Initialize libtool
 AC_DISABLE_STATIC
-- 
1.7.3.3

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH] drm/i915: expose a fixed brightness range to userspace

2014-11-11 Thread U. Artie Eoff
A userspace brightness range that is larger than the hardware
brightness range does not have a 1:1 mapping and can result
in brightness != actual_brightness for some values.

Expose a fixed brightness range of [0..1000] to userspace so
that all values can map 1:1 into the hardware brightness
range.  This would assume that the hardware range is always
greater than 1000, otherwise we're right back to the original
issue.

This patch is based on Jani Nikula's proposed change in the
referenced ML thread, except use the range [0..1000] instead;
which was recommended by Jesse Barnes for smoother backlight
transitions.

Reference: 
http://lists.freedesktop.org/archives/intel-gfx/2014-November/055221.html
Signed-off-by: U. Artie Eoff 
---
 drivers/gpu/drm/i915/intel_panel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_panel.c 
b/drivers/gpu/drm/i915/intel_panel.c
index 4d63839..f74f5f2 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1057,7 +1057,7 @@ static int intel_backlight_device_register(struct 
intel_connector *connector)
 * Note: Everything should work even if the backlight device max
 * presented to the userspace is arbitrarily chosen.
 */
-   props.max_brightness = panel->backlight.max;
+   props.max_brightness = 1000;
props.brightness = scale_hw_to_user(connector,
panel->backlight.level,
props.max_brightness);
-- 
1.9.3

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH 2/2] drm/i915: Move DIV_ROUND_CLOSEST_ULL macro to header

2014-09-29 Thread U. Artie Eoff
Move the duplicated DIV_ROUND_CLOSEST_ULL macro into the intel_drv.h
header file so that it can be shared between intel_display.c
and intel_panel.c.

Signed-off-by: U. Artie Eoff 
---
 drivers/gpu/drm/i915/intel_display.c | 3 ---
 drivers/gpu/drm/i915/intel_drv.h | 3 +++
 drivers/gpu/drm/i915/intel_panel.c   | 3 ---
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 5b05ddb..db800f2 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -73,9 +73,6 @@ static const uint32_t intel_cursor_formats[] = {
DRM_FORMAT_ARGB,
 };
 
-#define DIV_ROUND_CLOSEST_ULL(ll, d)   \
-({ unsigned long long _tmp = (ll)+(d)/2; do_div(_tmp, d); _tmp; })
-
 static void intel_increase_pllclock(struct drm_device *dev,
enum pipe pipe);
 static void intel_crtc_update_cursor(struct drm_crtc *crtc, bool on);
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 1b72c15..8401ae3 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -36,6 +36,9 @@
 #include 
 #include 
 
+#define DIV_ROUND_CLOSEST_ULL(ll, d)   \
+({ unsigned long long _tmp = (ll)+(d)/2; do_div(_tmp, d); _tmp; })
+
 /**
  * _wait_for - magic (register) wait macro
  *
diff --git a/drivers/gpu/drm/i915/intel_panel.c 
b/drivers/gpu/drm/i915/intel_panel.c
index f7da913..fade0dd 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -398,9 +398,6 @@ intel_panel_detect(struct drm_device *dev)
}
 }
 
-#define DIV_ROUND_CLOSEST_ULL(ll, d)   \
-({ unsigned long long _tmp = (ll)+(d)/2; do_div(_tmp, d); _tmp; })
-
 /**
  * scale - scale values from one range to another
  *
-- 
1.9.3

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH 0/2] drm/i915: WA intel_backlight scale math

2014-09-29 Thread U. Artie Eoff
The first patch is version 3 of the original patch authored by Joe Konno.
Joe Konno is off-the-grid for the next week or so.  Thus, I'm submitting
version 3 to keep the momentum going on this.  I elected to split v3 up
into two patches so that the first can be cherry-picked easier
(i.e. out of context of intel_display.c).

U. Artie Eoff (2):
  drm/i915: intel_backlight scale() math WA
  drm/i915: Move DIV_ROUND_CLOSEST_ULL macro to header

 drivers/gpu/drm/i915/intel_display.c | 3 ---
 drivers/gpu/drm/i915/intel_drv.h | 3 +++
 drivers/gpu/drm/i915/intel_panel.c   | 5 ++---
 3 files changed, 5 insertions(+), 6 deletions(-)

-- 
1.9.3

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH 1/2 v3] drm/i915: intel_backlight scale() math WA

2014-09-29 Thread U. Artie Eoff
Improper truncated integer division in the scale() function causes
actual_brightness != brightness. This (partial) work-around should be
sufficient for a majority of use-cases, but it is by no means a complete
solution.

TODO: Determine how best to scale "user" values to "hw" values, and
vice-versa, when the ranges are of different sizes. That would be a
buggy scenario even with this work-around.

The issue was introduced in the following (v3.17-rc1) commit:

6dda730 drm/i915: respect the VBT minimum backlight brightness

v2: (thanks to Chris Wilson) clarify commit message, use rounded division
macro

v3: -DIV_ROUND_CLOSEST() fails to build with CONFIG_X86_32=y. (Jani)
-Use DIV_ROUND_CLOSEST_ULL() instead. (Damien)
-v1 and v2 originally authored by Joe Konno.

Signed-off-by: U. Artie Eoff 
---
 drivers/gpu/drm/i915/intel_panel.c | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_panel.c 
b/drivers/gpu/drm/i915/intel_panel.c
index f17ada3..f7da913 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -398,6 +398,9 @@ intel_panel_detect(struct drm_device *dev)
}
 }
 
+#define DIV_ROUND_CLOSEST_ULL(ll, d)   \
+({ unsigned long long _tmp = (ll)+(d)/2; do_div(_tmp, d); _tmp; })
+
 /**
  * scale - scale values from one range to another
  *
@@ -419,9 +422,8 @@ static uint32_t scale(uint32_t source_val,
source_val = clamp(source_val, source_min, source_max);
 
/* avoid overflows */
-   target_val = (uint64_t)(source_val - source_min) *
-   (target_max - target_min);
-   do_div(target_val, source_max - source_min);
+   target_val = DIV_ROUND_CLOSEST_ULL((uint64_t)(source_val - source_min) *
+   (target_max - target_min), source_max - source_min);
target_val += target_min;
 
return target_val;
-- 
1.9.3

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH 2/2 v2] drm/i915: Move DIV_ROUND_CLOSEST_ULL macro to header

2014-09-30 Thread U. Artie Eoff
Move the duplicated DIV_ROUND_CLOSEST_ULL macro into the intel_drv.h
header file so that it can be shared between intel_display.c
and intel_panel.c.

OTC-Jira: VIZ-4395

v2: Add reference to issue report in commit message.

Signed-off-by: U. Artie Eoff 
---
 drivers/gpu/drm/i915/intel_display.c | 3 ---
 drivers/gpu/drm/i915/intel_drv.h | 3 +++
 drivers/gpu/drm/i915/intel_panel.c   | 3 ---
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 5b05ddb..db800f2 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -73,9 +73,6 @@ static const uint32_t intel_cursor_formats[] = {
DRM_FORMAT_ARGB,
 };
 
-#define DIV_ROUND_CLOSEST_ULL(ll, d)   \
-({ unsigned long long _tmp = (ll)+(d)/2; do_div(_tmp, d); _tmp; })
-
 static void intel_increase_pllclock(struct drm_device *dev,
enum pipe pipe);
 static void intel_crtc_update_cursor(struct drm_crtc *crtc, bool on);
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 1b72c15..8401ae3 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -36,6 +36,9 @@
 #include 
 #include 
 
+#define DIV_ROUND_CLOSEST_ULL(ll, d)   \
+({ unsigned long long _tmp = (ll)+(d)/2; do_div(_tmp, d); _tmp; })
+
 /**
  * _wait_for - magic (register) wait macro
  *
diff --git a/drivers/gpu/drm/i915/intel_panel.c 
b/drivers/gpu/drm/i915/intel_panel.c
index f7da913..fade0dd 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -398,9 +398,6 @@ intel_panel_detect(struct drm_device *dev)
}
 }
 
-#define DIV_ROUND_CLOSEST_ULL(ll, d)   \
-({ unsigned long long _tmp = (ll)+(d)/2; do_div(_tmp, d); _tmp; })
-
 /**
  * scale - scale values from one range to another
  *
-- 
1.9.3

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH 1/2] drm/i915: intel_backlight scale() math WA

2014-09-30 Thread U. Artie Eoff
Improper truncated integer division in the scale() function causes
actual_brightness != brightness. This (partial) work-around should be
sufficient for a majority of use-cases, but it is by no means a complete
solution.

TODO: Determine how best to scale "user" values to "hw" values, and
vice-versa, when the ranges are of different sizes. That would be a
buggy scenario even with this work-around.

The issue was introduced in the following (v3.17-rc1) commit:

6dda730 drm/i915: respect the VBT minimum backlight brightness

OTC-Jira: VIZ-4395

v2: (thanks to Chris Wilson) clarify commit message, use rounded division
macro

v3: -DIV_ROUND_CLOSEST() fails to build with CONFIG_X86_32=y. (Jani)
-Use DIV_ROUND_CLOSEST_ULL() instead. (Damien)
-v1 and v2 originally authored by Joe Konno.

v4: Add reference to issue report in commit message.

Signed-off-by: U. Artie Eoff 
---
 drivers/gpu/drm/i915/intel_panel.c | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_panel.c 
b/drivers/gpu/drm/i915/intel_panel.c
index f17ada3..f7da913 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -398,6 +398,9 @@ intel_panel_detect(struct drm_device *dev)
}
 }
 
+#define DIV_ROUND_CLOSEST_ULL(ll, d)   \
+({ unsigned long long _tmp = (ll)+(d)/2; do_div(_tmp, d); _tmp; })
+
 /**
  * scale - scale values from one range to another
  *
@@ -419,9 +422,8 @@ static uint32_t scale(uint32_t source_val,
source_val = clamp(source_val, source_min, source_max);
 
/* avoid overflows */
-   target_val = (uint64_t)(source_val - source_min) *
-   (target_max - target_min);
-   do_div(target_val, source_max - source_min);
+   target_val = DIV_ROUND_CLOSEST_ULL((uint64_t)(source_val - source_min) *
+   (target_max - target_min), source_max - source_min);
target_val += target_min;
 
return target_val;
-- 
1.9.3

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx