diff options
author | Dave Airlie <airlied@linux.ie> | 2006-03-22 21:06:32 -0500 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2006-04-02 21:43:28 -0400 |
commit | 8bb91f6a2d1db8031bfbb367df075f041d0cdfe2 (patch) | |
tree | 558db93f69096ede171d0b4e6c6c0330d8362e92 /drivers/video/intelfb/intelfbhw.c | |
parent | 7679f4d69296de97a7f62458cc4d1c6c884dfcfb (diff) |
intelfb: add hw cursor support for i9xx
This adds hw cursor support for the i9xx chipsets.
Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/video/intelfb/intelfbhw.c')
-rw-r--r-- | drivers/video/intelfb/intelfbhw.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/video/intelfb/intelfbhw.c b/drivers/video/intelfb/intelfbhw.c index 0bfa668bec21..92bdde8f9b23 100644 --- a/drivers/video/intelfb/intelfbhw.c +++ b/drivers/video/intelfb/intelfbhw.c | |||
@@ -1742,7 +1742,7 @@ intelfbhw_cursor_init(struct intelfb_info *dinfo) | |||
1742 | DBG_MSG("intelfbhw_cursor_init\n"); | 1742 | DBG_MSG("intelfbhw_cursor_init\n"); |
1743 | #endif | 1743 | #endif |
1744 | 1744 | ||
1745 | if (dinfo->mobile) { | 1745 | if (dinfo->mobile || IS_I9xx(dinfo)) { |
1746 | if (!dinfo->cursor.physical) | 1746 | if (!dinfo->cursor.physical) |
1747 | return; | 1747 | return; |
1748 | tmp = INREG(CURSOR_A_CONTROL); | 1748 | tmp = INREG(CURSOR_A_CONTROL); |
@@ -1775,7 +1775,7 @@ intelfbhw_cursor_hide(struct intelfb_info *dinfo) | |||
1775 | #endif | 1775 | #endif |
1776 | 1776 | ||
1777 | dinfo->cursor_on = 0; | 1777 | dinfo->cursor_on = 0; |
1778 | if (dinfo->mobile) { | 1778 | if (dinfo->mobile || IS_I9xx(dinfo)) { |
1779 | if (!dinfo->cursor.physical) | 1779 | if (!dinfo->cursor.physical) |
1780 | return; | 1780 | return; |
1781 | tmp = INREG(CURSOR_A_CONTROL); | 1781 | tmp = INREG(CURSOR_A_CONTROL); |
@@ -1805,7 +1805,7 @@ intelfbhw_cursor_show(struct intelfb_info *dinfo) | |||
1805 | if (dinfo->cursor_blanked) | 1805 | if (dinfo->cursor_blanked) |
1806 | return; | 1806 | return; |
1807 | 1807 | ||
1808 | if (dinfo->mobile) { | 1808 | if (dinfo->mobile || IS_I9xx(dinfo)) { |
1809 | if (!dinfo->cursor.physical) | 1809 | if (!dinfo->cursor.physical) |
1810 | return; | 1810 | return; |
1811 | tmp = INREG(CURSOR_A_CONTROL); | 1811 | tmp = INREG(CURSOR_A_CONTROL); |
@@ -1839,6 +1839,10 @@ intelfbhw_cursor_setpos(struct intelfb_info *dinfo, int x, int y) | |||
1839 | tmp = ((x & CURSOR_POS_MASK) << CURSOR_X_SHIFT) | | 1839 | tmp = ((x & CURSOR_POS_MASK) << CURSOR_X_SHIFT) | |
1840 | ((y & CURSOR_POS_MASK) << CURSOR_Y_SHIFT); | 1840 | ((y & CURSOR_POS_MASK) << CURSOR_Y_SHIFT); |
1841 | OUTREG(CURSOR_A_POSITION, tmp); | 1841 | OUTREG(CURSOR_A_POSITION, tmp); |
1842 | |||
1843 | if (IS_I9xx(dinfo)) { | ||
1844 | OUTREG(CURSOR_A_BASEADDR, dinfo->cursor.physical); | ||
1845 | } | ||
1842 | } | 1846 | } |
1843 | 1847 | ||
1844 | void | 1848 | void |