From 9fd13e6773371c82b9799a5bda7c96ffa5cafe8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Tue, 11 Mar 2008 13:48:07 -0400 Subject: Silence warnings about possible uninitialize use of dst_format. Whoa, gcc got a lot smarter about warnings. If iXXX_get_dest_format() doesn't support the picture format passed in it won't initialize the uint32_t pointed to by dst_format and return FALSE. What gcc now can detect is if dst_format is used without checking the return value, it might be used uninitialized. This patch makes sure we always check the return value before using dst_format. --- src/i830_render.c | 3 ++- src/i915_render.c | 3 ++- src/i965_render.c | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/i830_render.c b/src/i830_render.c index 22e09c84..ed44b368 100644 --- a/src/i830_render.c +++ b/src/i830_render.c @@ -403,7 +403,8 @@ i830_prepare_composite(int op, PicturePtr pSrcPicture, IntelEmitInvarientState(pScrn); *pI830->last_3d = LAST_3D_RENDER; - i830_get_dest_format(pDstPicture, &dst_format); + if (!i830_get_dest_format(pDstPicture, &dst_format)) + return FALSE; dst_offset = intel_get_pixmap_offset(pDst); dst_pitch = intel_get_pixmap_pitch(pDst); diff --git a/src/i915_render.c b/src/i915_render.c index ca85bf73..0142f5e5 100644 --- a/src/i915_render.c +++ b/src/i915_render.c @@ -322,7 +322,8 @@ i915_prepare_composite(int op, PicturePtr pSrcPicture, IntelEmitInvarientState(pScrn); *pI830->last_3d = LAST_3D_RENDER; - i915_get_dest_format(pDstPicture, &dst_format); + if (!i915_get_dest_format(pDstPicture, &dst_format)) + return FALSE; dst_offset = intel_get_pixmap_offset(pDst); dst_pitch = intel_get_pixmap_pitch(pDst); FS_LOCALS(20); diff --git a/src/i965_render.c b/src/i965_render.c index 4b1d7f3e..a749301c 100644 --- a/src/i965_render.c +++ b/src/i965_render.c @@ -629,7 +629,8 @@ i965_prepare_composite(int op, PicturePtr pSrcPicture, memset(dest_surf_state, 0, sizeof(*dest_surf_state)); dest_surf_state->ss0.surface_type = BRW_SURFACE_2D; dest_surf_state->ss0.data_return_format = BRW_SURFACERETURNFORMAT_FLOAT32; - i965_get_dest_format(pDstPicture, &dst_format); + if (!i965_get_dest_format(pDstPicture, &dst_format)) + return FALSE; dest_surf_state->ss0.surface_format = dst_format; dest_surf_state->ss0.writedisable_alpha = 0; -- cgit v1.2.3 From 4ea67e9b853e9ed61557780b87bd184fc81fd731 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Tue, 11 Mar 2008 13:54:33 -0400 Subject: Crack down on warnings. Fix printf formatting warnings, wrap a couple of long lines, nuke unused variables, add missing #include . --- src/bios_reader/bios_dumper.c | 1 + src/i830.h | 7 +++++++ src/i830_debug.c | 28 +++++++++++++++++----------- src/i830_lvds.c | 2 -- src/i830_video.c | 11 ++++++----- 5 files changed, 31 insertions(+), 18 deletions(-) diff --git a/src/bios_reader/bios_dumper.c b/src/bios_reader/bios_dumper.c index 6f163d56..e2f3064e 100644 --- a/src/bios_reader/bios_dumper.c +++ b/src/bios_reader/bios_dumper.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include diff --git a/src/i830.h b/src/i830.h index 132f0893..c64a68f5 100644 --- a/src/i830.h +++ b/src/i830.h @@ -843,4 +843,11 @@ extern const int I830CopyROP[16]; #define QUIRK_IVCH_NEED_DVOB 0x00000010 extern void i830_fixup_devices(ScrnInfoPtr); +/* Mirrors CARD32 definition in Xmd.h */ +#ifdef LONG64 +#define CARD32_HEX "x" +#else +#define CARD32_HEX "lx" +#endif + #endif /* _I830_H_ */ diff --git a/src/i830_debug.c b/src/i830_debug.c index f589de73..2e8c8514 100644 --- a/src/i830_debug.c +++ b/src/i830_debug.c @@ -957,13 +957,14 @@ i830_dump_error_state(ScrnInfoPtr pScrn) { I830Ptr pI830 = I830PTR(pScrn); - ErrorF("pgetbl_ctl: 0x%" PRIx32 "getbl_err: 0x%" PRIx32 "\n", + ErrorF("pgetbl_ctl: 0x%" CARD32_HEX "getbl_err: 0x%" CARD32_HEX "\n", INREG(PGETBL_CTL), INREG(PGE_ERR)); - ErrorF("ipeir: %" PRIx32 " iphdr: %" PRIx32 "\n", INREG(IPEIR), + ErrorF("ipeir: %" CARD32_HEX " iphdr: %" CARD32_HEX "\n", INREG(IPEIR), INREG(IPEHR)); - ErrorF("LP ring tail: %" PRIx32 " head: %" PRIx32 " len: %" PRIx32 " start %" PRIx32 "\n", + ErrorF("LP ring tail: %" CARD32_HEX " head: %" CARD32_HEX + " len: %" CARD32_HEX " start %" CARD32_HEX "\n", INREG(LP_RING + RING_TAIL), INREG(LP_RING + RING_HEAD) & HEAD_ADDR, INREG(LP_RING + RING_LEN), @@ -974,8 +975,8 @@ i830_dump_error_state(ScrnInfoPtr pScrn) ErrorF("instdone: %x instpm: %x\n", INREG16(INST_DONE), INREG8(INST_PM)); - ErrorF("memmode: %" PRIx32 " instps: %" PRIx32 "\n", INREG(MEMMODE), - INREG(INST_PS)); + ErrorF("memmode: %" CARD32_HEX " instps: %" CARD32_HEX "\n", + INREG(MEMMODE), INREG(INST_PS)); ErrorF("hwstam: %x ier: %x imr: %x iir: %x\n", INREG16(HWSTAM), INREG16(IER), INREG16(IMR), INREG16(IIR)); @@ -987,12 +988,14 @@ i965_dump_error_state(ScrnInfoPtr pScrn) { I830Ptr pI830 = I830PTR(pScrn); - ErrorF("pgetbl_ctl: 0x%" PRIx32 " pgetbl_err: 0x%" PRIx32 "\n", + ErrorF("pgetbl_ctl: 0x%" CARD32_HEX " pgetbl_err: 0x%" CARD32_HEX "\n", INREG(PGETBL_CTL), INREG(PGE_ERR)); - ErrorF("ipeir: %" PRIx32 " iphdr: %" PRIx32 "\n", INREG(IPEIR_I965), INREG(IPEHR_I965)); + ErrorF("ipeir: %" CARD32_HEX " iphdr: %" CARD32_HEX "\n", + INREG(IPEIR_I965), INREG(IPEHR_I965)); - ErrorF("LP ring tail: %" PRIx32 " head: %" PRIx32 " len: %" PRIx32 " start %" PRIx32 "\n", + ErrorF("LP ring tail: %" CARD32_HEX " head: %" CARD32_HEX + " len: %" CARD32_HEX " start %" CARD32_HEX "\n", INREG(LP_RING + RING_TAIL), INREG(LP_RING + RING_HEAD) & HEAD_ADDR, INREG(LP_RING + RING_LEN), INREG(LP_RING + RING_START)); @@ -1004,15 +1007,18 @@ i965_dump_error_state(ScrnInfoPtr pScrn) (int)INREG(INST_DONE_1)); ErrorF("instpm: %x\n", (int)INREG(INST_PM)); - ErrorF("memmode: %" PRIx32 " instps: %" PRIx32 "\n", INREG(MEMMODE), INREG(INST_PS_I965)); + ErrorF("memmode: %" CARD32_HEX " instps: %" CARD32_HEX "\n", + INREG(MEMMODE), INREG(INST_PS_I965)); ErrorF("HW Status mask (hwstam): %x\nIRQ enable (ier): %x " "imr: %x iir: %x\n", (int)INREG(HWSTAM), (int)INREG(IER), (int)INREG(IMR), (int)INREG(IIR)); - ErrorF("acthd: %" PRIx32 " dma_fadd_p: %" PRIx32 "\n", INREG(ACTHD), INREG(DMA_FADD_P)); - ErrorF("ecoskpd: %" PRIx32 " excc: %" PRIx32 "\n", INREG(ECOSKPD), INREG(EXCC)); + ErrorF("acthd: %" CARD32_HEX " dma_fadd_p: %" CARD32_HEX "\n", + INREG(ACTHD), INREG(DMA_FADD_P)); + ErrorF("ecoskpd: %" CARD32_HEX " excc: %" CARD32_HEX "\n", + INREG(ECOSKPD), INREG(EXCC)); ErrorF("cache_mode: %x/%x\n", (int)INREG(CACHE_MODE_0), (int)INREG(CACHE_MODE_1)); diff --git a/src/i830_lvds.c b/src/i830_lvds.c index 8359e39f..eefb08b1 100644 --- a/src/i830_lvds.c +++ b/src/i830_lvds.c @@ -855,8 +855,6 @@ i830_lvds_set_property(xf86OutputPtr output, Atom property, static Bool i830_lvds_get_property(xf86OutputPtr output, Atom property) { - ScrnInfoPtr pScrn = output->scrn; - I830Ptr pI830 = I830PTR(pScrn); I830OutputPrivatePtr intel_output = output->driver_private; struct i830_lvds_priv *dev_priv = intel_output->dev_priv; int ret; diff --git a/src/i830_video.c b/src/i830_video.c index bf260e46..aa10cac6 100644 --- a/src/i830_video.c +++ b/src/i830_video.c @@ -463,8 +463,8 @@ i830_overlay_continue(ScrnInfoPtr pScrn, Bool update_filter) flip_addr = pI830->overlay_regs->bus_addr; if (update_filter) flip_addr |= OFC_UPDATE; - OVERLAY_DEBUG ("overlay_continue cmd 0x%08" PRIx32 " -> 0x%08" PRIx32 - " sta 0x%08" PRIx32 "\n", + OVERLAY_DEBUG ("overlay_continue cmd 0x%08" CARD32_HEX + " -> 0x%08" CARD32_HEX " sta 0x%08" CARD32_HEX "\n", overlay->OCMD, INREG(OCMD_REGISTER), INREG(DOVSTA)); BEGIN_LP_RING(4); OUT_RING(MI_FLUSH | MI_WRITE_DIRTY_STATE); @@ -504,7 +504,8 @@ i830_overlay_off(ScrnInfoPtr pScrn) */ { overlay->OCMD &= ~OVERLAY_ENABLE; - OVERLAY_DEBUG ("overlay_off cmd 0x%08" PRIx32 " -> 0x%08" PRIx32 " sta 0x%08" PRIx32 "\n", + OVERLAY_DEBUG ("overlay_off cmd 0x%08" CARD32_HEX + " -> 0x%08" CARD32_HEX " sta 0x%08" CARD32_HEX "\n", overlay->OCMD, INREG(OCMD_REGISTER), INREG(DOVSTA)); BEGIN_LP_RING(6); OUT_RING(MI_FLUSH | MI_WRITE_DIRTY_STATE); @@ -1913,7 +1914,7 @@ i830_display_video(ScrnInfoPtr pScrn, xf86CrtcPtr crtc, overlay->OBUF_1V = pPriv->VBuf1offset; } - OVERLAY_DEBUG("pos: 0x%" PRIx32 ", size: 0x%" PRIx32 "\n", + OVERLAY_DEBUG("pos: 0x%" CARD32_HEX ", size: 0x%" CARD32_HEX "\n", overlay->DWINPOS, overlay->DWINSZ); OVERLAY_DEBUG("dst: %d x %d, src: %d x %d\n", drw_w, drw_h, src_w, src_h); @@ -2075,7 +2076,7 @@ i830_display_video(ScrnInfoPtr pScrn, xf86CrtcPtr crtc, OCMD |= BUFFER1; overlay->OCMD = OCMD; - OVERLAY_DEBUG("OCMD is 0x%" PRIx32 "\n", OCMD); + OVERLAY_DEBUG("OCMD is 0x%" CARD32_HEX "\n", OCMD); /* make sure the overlay is on */ i830_overlay_on (pScrn); -- cgit v1.2.3 From ecdb5963ef6873ab82998dca6ca5186644666ec8 Mon Sep 17 00:00:00 2001 From: Jesse Barnes Date: Tue, 11 Mar 2008 11:08:25 -0700 Subject: Add pipe A force enable quirk for Toshiba Portege R205-S209 Fixes #14944. --- src/i830_quirks.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/i830_quirks.c b/src/i830_quirks.c index 67202214..3f931d65 100644 --- a/src/i830_quirks.c +++ b/src/i830_quirks.c @@ -253,6 +253,8 @@ static i830_quirk i830_quirk_list[] = { { PCI_CHIP_I855_GM, 0x1028, 0x0152, quirk_pipea_force }, /* Dell Inspiron 510m needs pipe A force quirk */ { PCI_CHIP_I855_GM, 0x1028, 0x0164, quirk_pipea_force }, + /* Toshiba Protege R-205, S-209 needs pipe A force quirk */ + { PCI_CHIP_I915_GM, 0x1179, 0x0001, quirk_pipea_force }, /* ThinkPad X40 needs pipe A force quirk */ { PCI_CHIP_I855_GM, 0x1014, 0x0557, quirk_pipea_force }, -- cgit v1.2.3 From 642ba6278876ec945ad687c2b9624e532cd3f629 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 11 Mar 2008 09:59:16 -0700 Subject: Add support for brightness control to i915 textured video output. --- src/i830_video.c | 32 +++++++++++++++++++++++--------- src/i915_3d.h | 4 ++++ src/i915_video.c | 35 ++++++++++++++++++++++++++++++----- 3 files changed, 57 insertions(+), 14 deletions(-) diff --git a/src/i830_video.c b/src/i830_video.c index aa10cac6..2c8f2a97 100644 --- a/src/i830_video.c +++ b/src/i830_video.c @@ -94,6 +94,7 @@ static XF86VideoAdaptorPtr I830SetupImageVideoOverlay(ScreenPtr); static XF86VideoAdaptorPtr I830SetupImageVideoTextured(ScreenPtr); static void I830StopVideo(ScrnInfoPtr, pointer, Bool); static int I830SetPortAttribute(ScrnInfoPtr, Atom, INT32, pointer); +static int I830SetPortAttributeTextured(ScrnInfoPtr, Atom, INT32, pointer); static int I830GetPortAttribute(ScrnInfoPtr, Atom, INT32 *, pointer); static void I830QueryBestSize(ScrnInfoPtr, Bool, short, short, short, short, unsigned int *, @@ -940,7 +941,7 @@ I830SetupImageVideoTextured(ScreenPtr pScreen) adapt->GetVideo = NULL; adapt->GetStill = NULL; adapt->StopVideo = I830StopVideo; - adapt->SetPortAttribute = I830SetPortAttribute; + adapt->SetPortAttribute = I830SetPortAttributeTextured; adapt->GetPortAttribute = I830GetPortAttribute; adapt->QueryBestSize = I830QueryBestSize; adapt->PutImage = I830PutImage; @@ -1028,6 +1029,27 @@ I830StopVideo(ScrnInfoPtr pScrn, pointer data, Bool shutdown) } +static int +I830SetPortAttributeTextured(ScrnInfoPtr pScrn, + Atom attribute, INT32 value, pointer data) +{ + I830PortPrivPtr pPriv = (I830PortPrivPtr) data; + + if (attribute == xvBrightness) { + if ((value < -128) || (value > 127)) + return BadValue; + pPriv->brightness = value; + return Success; + } else if (attribute == xvContrast) { + if ((value < 0) || (value > 255)) + return BadValue; + pPriv->contrast = value; + return Success; + } else { + return BadMatch; + } +} + static int I830SetPortAttribute(ScrnInfoPtr pScrn, Atom attribute, INT32 value, pointer data) @@ -1036,14 +1058,6 @@ I830SetPortAttribute(ScrnInfoPtr pScrn, I830Ptr pI830 = I830PTR(pScrn); I830OverlayRegPtr overlay; - if (pPriv->textured) { - /* XXX: Currently the brightness/saturation attributes aren't hooked up. - * However, apps expect them to be there, and the spec seems to let us - * sneak out of actually implementing them for now. - */ - return Success; - } - overlay = I830OVERLAYREG(pI830); if (attribute == xvBrightness) { diff --git a/src/i915_3d.h b/src/i915_3d.h index 10902186..83a14c1f 100644 --- a/src/i915_3d.h +++ b/src/i915_3d.h @@ -61,6 +61,10 @@ #define FS_C1 ((REG_TYPE_CONST << 8) | 1) #define FS_C2 ((REG_TYPE_CONST << 8) | 2) #define FS_C3 ((REG_TYPE_CONST << 8) | 3) +#define FS_C4 ((REG_TYPE_CONST << 8) | 4) +#define FS_C5 ((REG_TYPE_CONST << 8) | 5) +#define FS_C6 ((REG_TYPE_CONST << 8) | 6) +#define FS_C7 ((REG_TYPE_CONST << 8) | 7) /* Sampler regs */ #define FS_S0 ((REG_TYPE_S << 8) | 0) diff --git a/src/i915_video.c b/src/i915_video.c index 00494a7b..dd0e596a 100644 --- a/src/i915_video.c +++ b/src/i915_video.c @@ -132,9 +132,17 @@ I915DisplayVideoTextured(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, int id, ADVANCE_LP_RING(); if (!planar) { - FS_LOCALS(3); + FS_LOCALS(10); + + BEGIN_LP_RING(16); + OUT_RING(_3DSTATE_PIXEL_SHADER_CONSTANTS | 4); + OUT_RING(0x0000001); /* constant 0 */ + /* constant 0: brightness/contrast */ + OUT_RING_F(pPriv->brightness / 128.0); + OUT_RING_F(pPriv->contrast / 255.0); + OUT_RING_F(0.0); + OUT_RING_F(0.0); - BEGIN_LP_RING(10); OUT_RING(_3DSTATE_SAMPLER_STATE | 3); OUT_RING(0x00000001); OUT_RING(SS2_COLORSPACE_CONVERSION | @@ -162,17 +170,23 @@ I915DisplayVideoTextured(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, int id, ms3 |= (width - 1) << MS3_WIDTH_SHIFT; OUT_RING(ms3); OUT_RING(((video_pitch / 4) - 1) << MS4_PITCH_SHIFT); + ADVANCE_LP_RING(); FS_BEGIN(); i915_fs_dcl(FS_S0); i915_fs_dcl(FS_T0); i915_fs_texld(FS_OC, FS_S0, FS_T0); + if (pPriv->brightness != 0) { + i915_fs_add(FS_OC, + i915_fs_operand_reg(FS_OC), + i915_fs_operand(FS_C0, X, X, X, ZERO)); + } FS_END(); } else { FS_LOCALS(16); - BEGIN_LP_RING(18 + 11 + 11); + BEGIN_LP_RING(22 + 11 + 11); /* For the planar formats, we set up three samplers -- one for each plane, * in a Y8 format. Because I couldn't get the special PLANAR_TO_PACKED * shader setup to work, I did the manual pixel shader: @@ -192,8 +206,8 @@ I915DisplayVideoTextured(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, int id, * r3 = (v,v,v,v) * OC = (r,g,b,1) */ - OUT_RING(_3DSTATE_PIXEL_SHADER_CONSTANTS | 16); - OUT_RING(0x000000f); /* constants 0-3 */ + OUT_RING(_3DSTATE_PIXEL_SHADER_CONSTANTS | (22 - 2)); + OUT_RING(0x000001f); /* constants 0-4 */ /* constant 0: normalization offsets */ OUT_RING_F(-0.0625); OUT_RING_F(-0.5); @@ -214,6 +228,11 @@ I915DisplayVideoTextured(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, int id, OUT_RING_F(2.017); OUT_RING_F(0.0); OUT_RING_F(0.0); + /* constant 4: brightness/contrast */ + OUT_RING_F(pPriv->brightness / 128.0); + OUT_RING_F(pPriv->contrast / 255.0); + OUT_RING_F(0.0); + OUT_RING_F(0.0); OUT_RING(_3DSTATE_SAMPLER_STATE | 9); OUT_RING(0x00000007); @@ -305,6 +324,12 @@ I915DisplayVideoTextured(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, int id, * the source. */ i915_fs_mov_masked(FS_OC, MASK_W, i915_fs_operand_one()); + + if (pPriv->brightness != 0) { + i915_fs_add(FS_OC, + i915_fs_operand_reg(FS_OC), + i915_fs_operand(FS_C4, X, X, X, ZERO)); + } FS_END(); } -- cgit v1.2.3 From 15f17aa682129c57d3864a355834edff06e91540 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 11 Mar 2008 11:27:10 -0700 Subject: Cleanse DVO drivers of CARD* types. --- src/ch7017/ch7017.c | 40 ++++++++++++++++++++-------------------- src/ch7xxx/ch7xxx.c | 16 ++++++++-------- src/ivch/ivch.c | 35 +++++++++++++++++------------------ src/sil164/sil164.c | 23 +++++++++++++++++++---- src/sil164/sil164_reg.h | 15 --------------- src/tfp410/tfp410.c | 21 ++++++++++++++++++--- src/tfp410/tfp410_reg.h | 15 --------------- 7 files changed, 82 insertions(+), 83 deletions(-) diff --git a/src/ch7017/ch7017.c b/src/ch7017/ch7017.c index 76f9cf77..f685965c 100644 --- a/src/ch7017/ch7017.c +++ b/src/ch7017/ch7017.c @@ -47,16 +47,16 @@ struct ch7017_priv { I2CDevRec d; - CARD8 save_hapi; - CARD8 save_vali; - CARD8 save_valo; - CARD8 save_ailo; - CARD8 save_lvds_pll_vco; - CARD8 save_feedback_div; - CARD8 save_lvds_control_2; - CARD8 save_outputs_enable; - CARD8 save_lvds_power_down; - CARD8 save_power_management; + uint8_t save_hapi; + uint8_t save_vali; + uint8_t save_valo; + uint8_t save_ailo; + uint8_t save_lvds_pll_vco; + uint8_t save_feedback_div; + uint8_t save_lvds_control_2; + uint8_t save_outputs_enable; + uint8_t save_lvds_power_down; + uint8_t save_power_management; }; static void @@ -65,7 +65,7 @@ static void ch7017_dpms(I2CDevPtr d, int mode); static Bool -ch7017_read(struct ch7017_priv *priv, int addr, CARD8 *val) +ch7017_read(struct ch7017_priv *priv, int addr, uint8_t *val) { if (!xf86I2CReadByte(&priv->d, addr, val)) { xf86DrvMsg(priv->d.pI2CBus->scrnIndex, X_ERROR, @@ -77,7 +77,7 @@ ch7017_read(struct ch7017_priv *priv, int addr, CARD8 *val) } static Bool -ch7017_write(struct ch7017_priv *priv, int addr, CARD8 val) +ch7017_write(struct ch7017_priv *priv, int addr, uint8_t val) { if (!xf86I2CWriteByte(&priv->d, addr, val)) { xf86DrvMsg(priv->d.pI2CBus->scrnIndex, X_ERROR, @@ -93,7 +93,7 @@ static void * ch7017_init(I2CBusPtr b, I2CSlaveAddr addr) { struct ch7017_priv *priv; - CARD8 val; + uint8_t val; priv = xcalloc(1, sizeof(struct ch7017_priv)); if (priv == NULL) @@ -149,11 +149,11 @@ static void ch7017_mode_set(I2CDevPtr d, DisplayModePtr mode, DisplayModePtr adjusted_mode) { struct ch7017_priv *priv = d->DriverPrivate.ptr; - CARD8 lvds_pll_feedback_div, lvds_pll_vco_control; - CARD8 outputs_enable, lvds_control_2, lvds_power_down; - CARD8 horizontal_active_pixel_input; - CARD8 horizontal_active_pixel_output, vertical_active_line_output; - CARD8 active_input_line_output; + uint8_t lvds_pll_feedback_div, lvds_pll_vco_control; + uint8_t outputs_enable, lvds_control_2, lvds_power_down; + uint8_t horizontal_active_pixel_input; + uint8_t horizontal_active_pixel_output, vertical_active_line_output; + uint8_t active_input_line_output; xf86DrvMsg(priv->d.pI2CBus->scrnIndex, X_INFO, "Registers before mode setting\n"); @@ -228,7 +228,7 @@ static void ch7017_dpms(I2CDevPtr d, int mode) { struct ch7017_priv *priv = d->DriverPrivate.ptr; - CARD8 val; + uint8_t val; ch7017_read(priv, CH7017_LVDS_POWER_DOWN, &val); @@ -258,7 +258,7 @@ static void ch7017_dump_regs(I2CDevPtr d) { struct ch7017_priv *priv = d->DriverPrivate.ptr; - CARD8 val; + uint8_t val; #define DUMP(reg) \ do { \ diff --git a/src/ch7xxx/ch7xxx.c b/src/ch7xxx/ch7xxx.c index 51fa78e6..3309a569 100644 --- a/src/ch7xxx/ch7xxx.c +++ b/src/ch7xxx/ch7xxx.c @@ -50,7 +50,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ static struct ch7xxx_id_struct { - CARD8 vid; + uint8_t vid; char *name; } ch7xxx_ids[] = { { CH7011_VID, "CH7011" }, @@ -62,7 +62,7 @@ static struct ch7xxx_id_struct { #define ID_ARRAY_SIZE (sizeof(ch7xxx_ids) / sizeof(ch7xxx_ids[0])) struct ch7xxx_reg_state { - CARD8 regs[CH7xxx_NUM_REGS]; + uint8_t regs[CH7xxx_NUM_REGS]; }; struct ch7xxx_priv { @@ -71,13 +71,13 @@ struct ch7xxx_priv { struct ch7xxx_reg_state SavedReg; struct ch7xxx_reg_state ModeReg; - CARD8 save_TCTL, save_TPCP, save_TPD, save_TPVT; - CARD8 save_TLPF, save_TCT, save_PM, save_IDF; + uint8_t save_TCTL, save_TPCP, save_TPD, save_TPVT; + uint8_t save_TLPF, save_TCT, save_PM, save_IDF; }; static void ch7xxx_save(I2CDevPtr d); -static char *ch7xxx_get_id(CARD8 vid) +static char *ch7xxx_get_id(uint8_t vid) { int i; @@ -126,7 +126,7 @@ ch7xxx_init(I2CBusPtr b, I2CSlaveAddr addr) { /* this will detect the CH7xxx chip on the specified i2c bus */ struct ch7xxx_priv *dev_priv; - CARD8 vendor, device; + uint8_t vendor, device; char *name; dev_priv = xcalloc(1, sizeof(struct ch7xxx_priv)); @@ -187,7 +187,7 @@ static xf86OutputStatus ch7xxx_detect(I2CDevPtr d) { struct ch7xxx_priv *dev_priv = d->DriverPrivate.ptr; - CARD8 cdet, orig_pm, pm; + uint8_t cdet, orig_pm, pm; ch7xxx_read(dev_priv, CH7xxx_PM, &orig_pm); @@ -219,7 +219,7 @@ static void ch7xxx_mode_set(I2CDevPtr d, DisplayModePtr mode, DisplayModePtr adjusted_mode) { struct ch7xxx_priv *dev_priv = d->DriverPrivate.ptr; - CARD8 tvco, tpcp, tpd, tlpf, idf; + uint8_t tvco, tpcp, tpd, tlpf, idf; if (mode->Clock <= 65000) { tvco = 0x23; diff --git a/src/ivch/ivch.c b/src/ivch/ivch.c index 820919fb..873afcc9 100644 --- a/src/ivch/ivch.c +++ b/src/ivch/ivch.c @@ -50,26 +50,25 @@ struct ivch_priv { xf86OutputPtr output; Bool quiet; - CARD16 width; - CARD16 height; + uint16_t width, height; - CARD16 save_VR01; - CARD16 save_VR40; + uint16_t save_VR01; + uint16_t save_VR40; }; struct vch_capabilities { struct aimdb_block aimdb_block; - CARD8 panel_type; - CARD8 set_panel_type; - CARD8 slave_address; - CARD8 capabilities; + uint8_t panel_type; + uint8_t set_panel_type; + uint8_t slave_address; + uint8_t capabilities; #define VCH_PANEL_FITTING_SUPPORT (0x3 << 0) #define VCH_PANEL_FITTING_TEXT (1 << 2) #define VCH_PANEL_FITTING_GRAPHICS (1 << 3) #define VCH_PANEL_FITTING_RATIO (1 << 4) #define VCH_DITHERING (1 << 5) - CARD8 backlight_gpio; - CARD8 set_panel_type_us_gpios; + uint8_t backlight_gpio; + uint8_t set_panel_type_us_gpios; } __attribute__ ((packed)); static void @@ -81,7 +80,7 @@ ivch_dump_regs(I2CDevPtr d); * Each of the 256 registers are 16 bits long. */ static Bool -ivch_read(struct ivch_priv *priv, int addr, CARD16 *data) +ivch_read(struct ivch_priv *priv, int addr, uint16_t *data) { I2CBusPtr b = priv->d.pI2CBus; I2CByte *p = (I2CByte *) data; @@ -118,7 +117,7 @@ ivch_read(struct ivch_priv *priv, int addr, CARD16 *data) /** Writes a 16-bit register on the ivch */ static Bool -ivch_write(struct ivch_priv *priv, int addr, CARD16 data) +ivch_write(struct ivch_priv *priv, int addr, uint16_t data) { I2CBusPtr b = priv->d.pI2CBus; @@ -158,7 +157,7 @@ static void * ivch_init(I2CBusPtr b, I2CSlaveAddr addr) { struct ivch_priv *priv; - CARD16 temp; + uint16_t temp; priv = xcalloc(1, sizeof(struct ivch_priv)); if (priv == NULL) @@ -226,7 +225,7 @@ ivch_dpms(I2CDevPtr d, int mode) { struct ivch_priv *priv = d->DriverPrivate.ptr; int i; - CARD16 vr01, vr30, backlight; + uint16_t vr01, vr30, backlight; /* Set the new power state of the panel. */ if (!ivch_read(priv, VR01, &vr01)) @@ -262,8 +261,8 @@ static void ivch_mode_set(I2CDevPtr d, DisplayModePtr mode, DisplayModePtr adjusted_mode) { struct ivch_priv *priv = d->DriverPrivate.ptr; - CARD16 vr40 = 0; - CARD16 vr01; + uint16_t vr40 = 0; + uint16_t vr01; vr01 = 0; vr40 = (VR40_STALL_ENABLE | @@ -273,7 +272,7 @@ ivch_mode_set(I2CDevPtr d, DisplayModePtr mode, DisplayModePtr adjusted_mode) if (mode->HDisplay != adjusted_mode->HDisplay || mode->VDisplay != adjusted_mode->VDisplay) { - CARD16 x_ratio, y_ratio; + uint16_t x_ratio, y_ratio; vr01 |= VR01_PANEL_FIT_ENABLE; vr40 |= VR40_CLOCK_GATING_ENABLE; @@ -299,7 +298,7 @@ static void ivch_dump_regs(I2CDevPtr d) { struct ivch_priv *priv = d->DriverPrivate.ptr; - CARD16 val; + uint16_t val; ivch_read(priv, VR00, &val); xf86DrvMsg(priv->d.pI2CBus->scrnIndex, X_INFO, "VR00: 0x%04x\n", val); diff --git a/src/sil164/sil164.c b/src/sil164/sil164.c index f7d414a2..0c325456 100644 --- a/src/sil164/sil164.c +++ b/src/sil164/sil164.c @@ -45,8 +45,23 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "sil164.h" #include "sil164_reg.h" +typedef struct _Sil164SaveRec { + uint8_t reg8; + uint8_t reg9; + uint8_t regc; +} SIL164SaveRec; + +typedef struct { + I2CDevRec d; + Bool quiet; + SIL164SaveRec SavedReg; + SIL164SaveRec ModeReg; +} SIL164Rec, *SIL164Ptr; + +#define SILPTR(d) ((SIL164Ptr)(d->DriverPrivate.ptr)) + static Bool -sil164ReadByte(SIL164Ptr sil, int addr, CARD8 *ch) +sil164ReadByte(SIL164Ptr sil, int addr, uint8_t *ch) { if (!xf86I2CReadByte(&(sil->d), addr, ch)) { if (!sil->quiet) { @@ -60,7 +75,7 @@ sil164ReadByte(SIL164Ptr sil, int addr, CARD8 *ch) } static Bool -sil164WriteByte(SIL164Ptr sil, int addr, CARD8 ch) +sil164WriteByte(SIL164Ptr sil, int addr, uint8_t ch) { if (!xf86I2CWriteByte(&(sil->d), addr, ch)) { if (!sil->quiet) { @@ -131,7 +146,7 @@ static xf86OutputStatus sil164_detect(I2CDevPtr d) { SIL164Ptr sil = SILPTR(d); - CARD8 reg9; + uint8_t reg9; sil164ReadByte(sil, SIL164_REG9, ®9); @@ -190,7 +205,7 @@ static void sil164_dump_regs(I2CDevPtr d) { SIL164Ptr sil = SILPTR(d); - CARD8 val; + uint8_t val; sil164ReadByte(sil, SIL164_FREQ_LO, &val); xf86DrvMsg(sil->d.pI2CBus->scrnIndex, X_INFO, "SIL164_FREQ_LO: 0x%02x\n", diff --git a/src/sil164/sil164_reg.h b/src/sil164/sil164_reg.h index 734e55dd..151b430f 100644 --- a/src/sil164/sil164_reg.h +++ b/src/sil164/sil164_reg.h @@ -57,19 +57,4 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #define SIL164_REGC 0x0c -typedef struct _Sil164SaveRec { - CARD8 reg8; - CARD8 reg9; - CARD8 regc; -} SIL164SaveRec; - -typedef struct { - I2CDevRec d; - Bool quiet; - SIL164SaveRec SavedReg; - SIL164SaveRec ModeReg; -} SIL164Rec, *SIL164Ptr; - -#define SILPTR(d) ((SIL164Ptr)(d->DriverPrivate.ptr)) - #endif diff --git a/src/tfp410/tfp410.c b/src/tfp410/tfp410.c index bb038cdb..81a6d0a7 100644 --- a/src/tfp410/tfp410.c +++ b/src/tfp410/tfp410.c @@ -44,8 +44,23 @@ #include "tfp410.h" #include "tfp410_reg.h" +typedef struct _TFP410SaveRec { + uint8_t ctl1; + uint8_t ctl2; +} TFP410SaveRec; + +typedef struct { + I2CDevRec d; + Bool quiet; + + TFP410SaveRec SavedReg; + TFP410SaveRec ModeReg; +} TFP410Rec, *TFP410Ptr; + +#define TFPPTR(d) ((TFP410Ptr)(d->DriverPrivate.ptr)) + static Bool -tfp410ReadByte(TFP410Ptr tfp, int addr, CARD8 *ch) +tfp410ReadByte(TFP410Ptr tfp, int addr, uint8_t *ch) { if (!xf86I2CReadByte(&(tfp->d), addr, ch)) { if (!tfp->quiet) { @@ -59,7 +74,7 @@ tfp410ReadByte(TFP410Ptr tfp, int addr, CARD8 *ch) } static Bool -tfp410WriteByte(TFP410Ptr tfp, int addr, CARD8 ch) +tfp410WriteByte(TFP410Ptr tfp, int addr, uint8_t ch) { if (!xf86I2CWriteByte(&(tfp->d), addr, ch)) { if (!tfp->quiet) { @@ -191,7 +206,7 @@ static void tfp410_dump_regs(I2CDevPtr d) { TFP410Ptr tfp = TFPPTR(d); - CARD8 val, val2; + uint8_t val, val2; tfp410ReadByte(tfp, TFP410_REV, &val); xf86DrvMsg(tfp->d.pI2CBus->scrnIndex, X_INFO, diff --git a/src/tfp410/tfp410_reg.h b/src/tfp410/tfp410_reg.h index c555b977..5bfe28b2 100644 --- a/src/tfp410/tfp410_reg.h +++ b/src/tfp410/tfp410_reg.h @@ -88,19 +88,4 @@ #define TFP410_V_RES_LO 0x3C #define TFP410_V_RES_HI 0x3D -typedef struct _TFP410SaveRec { - CARD8 ctl1; - CARD8 ctl2; -} TFP410SaveRec; - -typedef struct { - I2CDevRec d; - Bool quiet; - - TFP410SaveRec SavedReg; - TFP410SaveRec ModeReg; -} TFP410Rec, *TFP410Ptr; - -#define TFPPTR(d) ((TFP410Ptr)(d->DriverPrivate.ptr)) - #endif -- cgit v1.2.3 From 9a62d3b598cca3c28fa8b6313bba82983cc29ecf Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 11 Mar 2008 12:07:52 -0700 Subject: Remove i830+ driver's use of CARD*/INT* types for great justice. Several uses are actually left, which are determined by the X Server interfaces we're implementing. --- src/bios_reader/bios_reader.c | 4 +- src/common.h | 14 ++-- src/i830.h | 147 ++++++++++++++++++------------------ src/i830_bios.c | 2 +- src/i830_bios.h | 134 ++++++++++++++++----------------- src/i830_crt.c | 26 +++---- src/i830_cursor.c | 14 ++-- src/i830_debug.c | 148 +++++++++++++++++++------------------ src/i830_display.c | 18 ++--- src/i830_dri.c | 2 +- src/i830_driver.c | 12 +-- src/i830_dvo.c | 4 +- src/i830_exa.c | 4 +- src/i830_i2c.c | 14 ++-- src/i830_lvds.c | 22 +++--- src/i830_memory.c | 6 +- src/i830_render.c | 25 ++++--- src/i830_sdvo.c | 102 ++++++++++++------------- src/i830_sdvo_regs.h | 54 +++++++------- src/i830_tv.c | 102 ++++++++++++------------- src/i830_video.c | 168 +++++++++++++++++++++--------------------- src/i830_video.h | 28 +++---- src/i915_3d.h | 4 +- src/i915_render.c | 25 ++++--- src/i915_video.c | 2 +- src/i965_render.c | 44 +++++------ src/i965_video.c | 16 ++-- src/reg_dumper/reg_dumper.h | 1 - 28 files changed, 569 insertions(+), 573 deletions(-) diff --git a/src/bios_reader/bios_reader.c b/src/bios_reader/bios_reader.c index 9ec73c13..ffa27f03 100644 --- a/src/bios_reader/bios_reader.c +++ b/src/bios_reader/bios_reader.c @@ -38,7 +38,7 @@ /* Make a fake pI830 so we can easily pull i830_bios.c code in here. */ struct _fake_i830 { - CARD8 *VBIOS; + uint8_t *VBIOS; }; struct _fake_i830 I830; struct _fake_i830 *pI830 = &I830; @@ -93,7 +93,7 @@ int main(int argc, char **argv) struct lvds_bdb_2 *lvds2; struct lvds_bdb_2_fp_params *fpparam; struct lvds_bdb_2_fp_edid_dtd *fptiming; - CARD8 *timing_ptr; + uint8_t *timing_ptr; id = INTEL_BIOS_8(start); block_size = INTEL_BIOS_16(start + 1) + 3; diff --git a/src/common.h b/src/common.h index 09f28f88..da60d085 100644 --- a/src/common.h +++ b/src/common.h @@ -230,14 +230,14 @@ union intfloat { /* Memory mapped register access macros */ -#define INREG8(addr) *(volatile CARD8 *)(RecPtr->MMIOBase + (addr)) -#define INREG16(addr) *(volatile CARD16 *)(RecPtr->MMIOBase + (addr)) -#define INREG(addr) *(volatile CARD32 *)(RecPtr->MMIOBase + (addr)) -#define INGTT(addr) *(volatile CARD32 *)(RecPtr->GTTBase + (addr)) +#define INREG8(addr) *(volatile uint8_t *)(RecPtr->MMIOBase + (addr)) +#define INREG16(addr) *(volatile uint16_t *)(RecPtr->MMIOBase + (addr)) +#define INREG(addr) *(volatile uint32_t *)(RecPtr->MMIOBase + (addr)) +#define INGTT(addr) *(volatile uint32_t *)(RecPtr->GTTBase + (addr)) #define POSTING_READ(addr) (void)INREG(addr) #define OUTREG8(addr, val) do { \ - *(volatile CARD8 *)(RecPtr->MMIOBase + (addr)) = (val); \ + *(volatile uint8_t *)(RecPtr->MMIOBase + (addr)) = (val); \ if (I810_DEBUG&DEBUG_VERBOSE_OUTREG) { \ ErrorF("OUTREG8(0x%lx, 0x%lx) in %s\n", (unsigned long)(addr), \ (unsigned long)(val), FUNCTION_NAME); \ @@ -245,7 +245,7 @@ union intfloat { } while (0) #define OUTREG16(addr, val) do { \ - *(volatile CARD16 *)(RecPtr->MMIOBase + (addr)) = (val); \ + *(volatile uint16_t *)(RecPtr->MMIOBase + (addr)) = (val); \ if (I810_DEBUG&DEBUG_VERBOSE_OUTREG) { \ ErrorF("OUTREG16(0x%lx, 0x%lx) in %s\n", (unsigned long)(addr), \ (unsigned long)(val), FUNCTION_NAME); \ @@ -253,7 +253,7 @@ union intfloat { } while (0) #define OUTREG(addr, val) do { \ - *(volatile CARD32 *)(RecPtr->MMIOBase + (addr)) = (val); \ + *(volatile uint32_t *)(RecPtr->MMIOBase + (addr)) = (val); \ if (I810_DEBUG&DEBUG_VERBOSE_OUTREG) { \ ErrorF("OUTREG(0x%lx, 0x%lx) in %s\n", (unsigned long)(addr), \ (unsigned long)(val), FUNCTION_NAME); \ diff --git a/src/i830.h b/src/i830.h index c64a68f5..bfbaf428 100644 --- a/src/i830.h +++ b/src/i830.h @@ -259,7 +259,7 @@ typedef struct _I830CrtcPrivateRec { int dpms_mode; /* Lookup table values to be set when the CRTC is enabled */ - CARD8 lut_r[256], lut_g[256], lut_b[256]; + uint8_t lut_r[256], lut_g[256], lut_b[256]; i830_memory *rotate_mem; /* Card virtual address of the cursor */ @@ -450,7 +450,7 @@ typedef struct _I830Rec { pciVideoPtr PciInfo; PCITAG PciTag; #endif - CARD8 variant; + uint8_t variant; unsigned int BR[20]; @@ -505,8 +505,8 @@ typedef struct _I830Rec { /** Transform pointers for src/mask, or NULL if identity */ PictTransform *transform[2]; /* i915 EXA render state */ - CARD32 mapstate[6]; - CARD32 samplerstate[6]; + uint32_t mapstate[6]; + uint32_t samplerstate[6]; Bool directRenderingDisabled; /* DRI disabled in PreInit. */ Bool directRenderingEnabled; /* DRI enabled this generation. */ @@ -529,8 +529,8 @@ typedef struct _I830Rec { Bool StolenOnly; Bool swfSaved; - CARD32 saveSWF0; - CARD32 saveSWF4; + uint32_t saveSWF0; + uint32_t saveSWF4; Bool checkDevices; @@ -553,70 +553,70 @@ typedef struct _I830Rec { enum backlight_control backlight_control_method; - CARD32 saveDSPACNTR; - CARD32 saveDSPBCNTR; - CARD32 savePIPEACONF; - CARD32 savePIPEBCONF; - CARD32 savePIPEASRC; - CARD32 savePIPEBSRC; - CARD32 saveFPA0; - CARD32 saveFPA1; - CARD32 saveDPLL_A; - CARD32 saveDPLL_A_MD; - CARD32 saveHTOTAL_A; - CARD32 saveHBLANK_A; - CARD32 saveHSYNC_A; - CARD32 saveVTOTAL_A; - CARD32 saveVBLANK_A; - CARD32 saveVSYNC_A; - CARD32 saveBCLRPAT_A; - CARD32 saveDSPASTRIDE; - CARD32 saveDSPASIZE; - CARD32 saveDSPAPOS; - CARD32 saveDSPABASE; - CARD32 saveDSPASURF; - CARD32 saveDSPATILEOFF; - CARD32 saveFPB0; - CARD32 saveFPB1; - CARD32 saveDPLL_B; - CARD32 saveDPLL_B_MD; - CARD32 saveHTOTAL_B; - CARD32 saveHBLANK_B; - CARD32 saveHSYNC_B; - CARD32 saveVTOTAL_B; - CARD32 saveVBLANK_B; - CARD32 saveVSYNC_B; - CARD32 saveBCLRPAT_B; - CARD32 saveDSPBSTRIDE; - CARD32 saveDSPBSIZE; - CARD32 saveDSPBPOS; - CARD32 saveDSPBBASE; - CARD32 saveDSPBSURF; - CARD32 saveDSPBTILEOFF; - CARD32 saveVCLK_DIVISOR_VGA0; - CARD32 saveVCLK_DIVISOR_VGA1; - CARD32 saveVCLK_POST_DIV; - CARD32 saveVGACNTRL; - CARD32 saveADPA; - CARD32 saveLVDS; - CARD32 saveDVOA; - CARD32 saveDVOB; - CARD32 saveDVOC; - CARD32 savePP_ON; - CARD32 savePP_OFF; - CARD32 savePP_CONTROL; - CARD32 savePP_CYCLE; - CARD32 savePFIT_CONTROL; - CARD32 savePaletteA[256]; - CARD32 savePaletteB[256]; - CARD32 saveSWF[17]; - CARD32 saveBLC_PWM_CTL; - CARD32 saveBLC_PWM_CTL2; - CARD32 saveFBC_CFB_BASE; - CARD32 saveFBC_LL_BASE; - CARD32 saveFBC_CONTROL2; - CARD32 saveFBC_CONTROL; - CARD32 saveFBC_FENCE_OFF; + uint32_t saveDSPACNTR; + uint32_t saveDSPBCNTR; + uint32_t savePIPEACONF; + uint32_t savePIPEBCONF; + uint32_t savePIPEASRC; + uint32_t savePIPEBSRC; + uint32_t saveFPA0; + uint32_t saveFPA1; + uint32_t saveDPLL_A; + uint32_t saveDPLL_A_MD; + uint32_t saveHTOTAL_A; + uint32_t saveHBLANK_A; + uint32_t saveHSYNC_A; + uint32_t saveVTOTAL_A; + uint32_t saveVBLANK_A; + uint32_t saveVSYNC_A; + uint32_t saveBCLRPAT_A; + uint32_t saveDSPASTRIDE; + uint32_t saveDSPASIZE; + uint32_t saveDSPAPOS; + uint32_t saveDSPABASE; + uint32_t saveDSPASURF; + uint32_t saveDSPATILEOFF; + uint32_t saveFPB0; + uint32_t saveFPB1; + uint32_t saveDPLL_B; + uint32_t saveDPLL_B_MD; + uint32_t saveHTOTAL_B; + uint32_t saveHBLANK_B; + uint32_t saveHSYNC_B; + uint32_t saveVTOTAL_B; + uint32_t saveVBLANK_B; + uint32_t saveVSYNC_B; + uint32_t saveBCLRPAT_B; + uint32_t saveDSPBSTRIDE; + uint32_t saveDSPBSIZE; + uint32_t saveDSPBPOS; + uint32_t saveDSPBBASE; + uint32_t saveDSPBSURF; + uint32_t saveDSPBTILEOFF; + uint32_t saveVCLK_DIVISOR_VGA0; + uint32_t saveVCLK_DIVISOR_VGA1; + uint32_t saveVCLK_POST_DIV; + uint32_t saveVGACNTRL; + uint32_t saveADPA; + uint32_t saveLVDS; + uint32_t saveDVOA; + uint32_t saveDVOB; + uint32_t saveDVOC; + uint32_t savePP_ON; + uint32_t savePP_OFF; + uint32_t savePP_CONTROL; + uint32_t savePP_CYCLE; + uint32_t savePFIT_CONTROL; + uint32_t savePaletteA[256]; + uint32_t savePaletteB[256]; + uint32_t saveSWF[17]; + uint32_t saveBLC_PWM_CTL; + uint32_t saveBLC_PWM_CTL2; + uint32_t saveFBC_CFB_BASE; + uint32_t saveFBC_LL_BASE; + uint32_t saveFBC_CONTROL2; + uint32_t saveFBC_CONTROL; + uint32_t saveFBC_FENCE_OFF; enum last_3d *last_3d; @@ -843,11 +843,4 @@ extern const int I830CopyROP[16]; #define QUIRK_IVCH_NEED_DVOB 0x00000010 extern void i830_fixup_devices(ScrnInfoPtr); -/* Mirrors CARD32 definition in Xmd.h */ -#ifdef LONG64 -#define CARD32_HEX "x" -#else -#define CARD32_HEX "lx" -#endif - #endif /* _I830_H_ */ diff --git a/src/i830_bios.c b/src/i830_bios.c index 7ed791e6..0a28fb4a 100644 --- a/src/i830_bios.c +++ b/src/i830_bios.c @@ -171,7 +171,7 @@ i830_bios_get_panel_mode(ScrnInfoPtr pScrn, Bool *wants_dither) struct lvds_bdb_2_fp_params *fpparam; struct lvds_bdb_2_fp_edid_dtd *fptiming; DisplayModePtr fixed_mode; - CARD8 *timing_ptr; + uint8_t *timing_ptr; id = INTEL_BIOS_8(start); block_size = INTEL_BIOS_16(start + 1) + 3; diff --git a/src/i830_bios.h b/src/i830_bios.h index 9e8356a1..46e34f94 100644 --- a/src/i830_bios.h +++ b/src/i830_bios.h @@ -32,20 +32,20 @@ struct vbt_header { char signature[20]; /**< Always starts with 'VBT$' */ - CARD16 version; /**< decimal */ - CARD16 header_size; /**< in bytes */ - CARD16 vbt_size; /**< in bytes */ - CARD8 vbt_checksum; - CARD8 reserved0; - CARD32 bdb_offset; /**< from beginning of VBT */ - CARD32 aim_offset[4]; /**< from beginning of VBT */ + uint16_t version; /**< decimal */ + uint16_t header_size; /**< in bytes */ + uint16_t vbt_size; /**< in bytes */ + uint8_t vbt_checksum; + uint8_t reserved0; + uint32_t bdb_offset; /**< from beginning of VBT */ + uint32_t aim_offset[4]; /**< from beginning of VBT */ } __attribute__((packed)); struct bdb_header { char signature[16]; /**< Always 'BIOS_DATA_BLOCK' */ - CARD16 version; /**< decimal */ - CARD16 header_size; /**< in bytes */ - CARD16 bdb_size; /**< in bytes */ + uint16_t version; /**< decimal */ + uint16_t header_size; /**< in bytes */ + uint16_t bdb_size; /**< in bytes */ } __attribute__((packed)); #define LVDS_CAP_EDID (1 << 6) @@ -56,89 +56,89 @@ struct bdb_header { #define LVDS_CAP_PFIT_GRAPHICS (1 << 1) #define LVDS_CAP_PFIT_TEXT (1 << 0) struct lvds_bdb_1 { - CARD8 id; /**< 40 */ - CARD16 size; - CARD8 panel_type; - CARD8 reserved0; - CARD16 caps; + uint8_t id; /**< 40 */ + uint16_t size; + uint8_t panel_type; + uint8_t reserved0; + uint16_t caps; } __attribute__((packed)); struct lvds_bdb_2_fp_params { - CARD16 x_res; - CARD16 y_res; - CARD32 lvds_reg; - CARD32 lvds_reg_val; - CARD32 pp_on_reg; - CARD32 pp_on_reg_val; - CARD32 pp_off_reg; - CARD32 pp_off_reg_val; - CARD32 pp_cycle_reg; - CARD32 pp_cycle_reg_val; - CARD32 pfit_reg; - CARD32 pfit_reg_val; - CARD16 terminator; + uint16_t x_res; + uint16_t y_res; + uint32_t lvds_reg; + uint32_t lvds_reg_val; + uint32_t pp_on_reg; + uint32_t pp_on_reg_val; + uint32_t pp_off_reg; + uint32_t pp_off_reg_val; + uint32_t pp_cycle_reg; + uint32_t pp_cycle_reg_val; + uint32_t pfit_reg; + uint32_t pfit_reg_val; + uint16_t terminator; } __attribute__((packed)); struct lvds_bdb_2_fp_edid_dtd { - CARD16 dclk; /**< In 10khz */ - CARD8 hactive; - CARD8 hblank; - CARD8 high_h; /**< 7:4 = hactive 11:8, 3:0 = hblank 11:8 */ - CARD8 vactive; - CARD8 vblank; - CARD8 high_v; /**< 7:4 = vactive 11:8, 3:0 = vblank 11:8 */ - CARD8 hsync_off; - CARD8 hsync_pulse_width; - CARD8 vsync_off; - CARD8 high_hsync_off; /**< 7:6 = hsync off 9:8 */ - CARD8 h_image; - CARD8 v_image; - CARD8 max_hv; - CARD8 h_border; - CARD8 v_border; - CARD8 flags; + uint16_t dclk; /**< In 10khz */ + uint8_t hactive; + uint8_t hblank; + uint8_t high_h; /**< 7:4 = hactive 11:8, 3:0 = hblank 11:8 */ + uint8_t vactive; + uint8_t vblank; + uint8_t high_v; /**< 7:4 = vactive 11:8, 3:0 = vblank 11:8 */ + uint8_t hsync_off; + uint8_t hsync_pulse_width; + uint8_t vsync_off; + uint8_t high_hsync_off; /**< 7:6 = hsync off 9:8 */ + uint8_t h_image; + uint8_t v_image; + uint8_t max_hv; + uint8_t h_border; + uint8_t v_border; + uint8_t flags; #define FP_EDID_FLAG_VSYNC_POSITIVE (1 << 2) #define FP_EDID_FLAG_HSYNC_POSITIVE (1 << 1) } __attribute__((packed)); struct lvds_bdb_2_entry { - CARD16 fp_params_offset; /**< From beginning of BDB */ - CARD8 fp_params_size; - CARD16 fp_edid_dtd_offset; - CARD8 fp_edid_dtd_size; - CARD16 fp_edid_pid_offset; - CARD8 fp_edid_pid_size; + uint16_t fp_params_offset; /**< From beginning of BDB */ + uint8_t fp_params_size; + uint16_t fp_edid_dtd_offset; + uint8_t fp_edid_dtd_size; + uint16_t fp_edid_pid_offset; + uint8_t fp_edid_pid_size; } __attribute__((packed)); struct lvds_bdb_2 { - CARD8 id; /**< 41 */ - CARD16 size; - CARD8 table_size; /* not sure on this one */ + uint8_t id; /**< 41 */ + uint16_t size; + uint8_t table_size; /* not sure on this one */ struct lvds_bdb_2_entry panels[16]; } __attribute__((packed)); struct aimdb_header { char signature[16]; char oem_device[20]; - CARD16 aimdb_version; - CARD16 aimdb_header_size; - CARD16 aimdb_size; + uint16_t aimdb_version; + uint16_t aimdb_header_size; + uint16_t aimdb_size; } __attribute__((packed)); struct aimdb_block { - CARD8 aimdb_id; - CARD16 aimdb_size; + uint8_t aimdb_id; + uint16_t aimdb_size; } __attribute__((packed)); struct vch_panel_data { - CARD16 fp_timing_offset; - CARD8 fp_timing_size; - CARD16 dvo_timing_offset; - CARD8 dvo_timing_size; - CARD16 text_fitting_offset; - CARD8 text_fitting_size; - CARD16 graphics_fitting_offset; - CARD8 graphics_fitting_size; + uint16_t fp_timing_offset; + uint8_t fp_timing_size; + uint16_t dvo_timing_offset; + uint8_t dvo_timing_size; + uint16_t text_fitting_offset; + uint8_t text_fitting_size; + uint16_t graphics_fitting_offset; + uint8_t graphics_fitting_size; } __attribute__((packed)); struct vch_bdb_22 { diff --git a/src/i830_crt.c b/src/i830_crt.c index 82a774aa..3705233b 100644 --- a/src/i830_crt.c +++ b/src/i830_crt.c @@ -39,7 +39,7 @@ i830_crt_dpms(xf86OutputPtr output, int mode) { ScrnInfoPtr pScrn = output->scrn; I830Ptr pI830 = I830PTR(pScrn); - CARD32 temp; + uint32_t temp; temp = INREG(ADPA); temp &= ~(ADPA_HSYNC_CNTL_DISABLE | ADPA_VSYNC_CNTL_DISABLE); @@ -109,7 +109,7 @@ i830_crt_mode_set(xf86OutputPtr output, DisplayModePtr mode, xf86CrtcPtr crtc = output->crtc; I830CrtcPrivatePtr i830_crtc = crtc->driver_private; int dpll_md_reg; - CARD32 adpa, dpll_md; + uint32_t adpa, dpll_md; if (i830_crtc->pipe == 0) dpll_md_reg = DPLL_A_MD; @@ -158,7 +158,7 @@ i830_crt_detect_hotplug(xf86OutputPtr output) { ScrnInfoPtr pScrn = output->scrn; I830Ptr pI830 = I830PTR(pScrn); - CARD32 temp; + uint32_t temp; const int timeout_ms = 1000; int starttime, curtime; @@ -199,13 +199,13 @@ i830_crt_detect_load (xf86CrtcPtr crtc, ScrnInfoPtr pScrn = output->scrn; I830Ptr pI830 = I830PTR(pScrn); I830CrtcPrivatePtr i830_crtc = I830CrtcPrivate(crtc); - CARD32 save_bclrpat; - CARD32 save_vtotal; - CARD32 vtotal, vactive; - CARD32 vsample; - CARD32 vblank, vblank_start, vblank_end; - CARD32 dsl; - CARD8 st00; + uint32_t save_bclrpat; + uint32_t save_vtotal; + uint32_t vtotal, vactive; + uint32_t vsample; + uint32_t vblank, vblank_start, vblank_end; + uint32_t dsl; + uint8_t st00; int bclrpat_reg, pipeconf_reg, pipe_dsl_reg; int vtotal_reg, vblank_reg, vsync_reg; int pipe = i830_crtc->pipe; @@ -245,7 +245,7 @@ i830_crt_detect_load (xf86CrtcPtr crtc, if (IS_I9XX (pI830)) { - CARD32 pipeconf = INREG(pipeconf_reg); + uint32_t pipeconf = INREG(pipeconf_reg); OUTREG(pipeconf_reg, pipeconf | PIPECONF_FORCE_BORDER); st00 = pI830->readStandard (pI830, 0x3c2); @@ -263,8 +263,8 @@ i830_crt_detect_load (xf86CrtcPtr crtc, */ if (vblank_start <= vactive && vblank_end >= vtotal) { - CARD32 vsync = INREG(vsync_reg); - CARD32 vsync_start = (vsync & 0xffff) + 1; + uint32_t vsync = INREG(vsync_reg); + uint32_t vsync_start = (vsync & 0xffff) + 1; vblank_start = vsync_start; OUTREG(vblank_reg, (vblank_start - 1) | ((vblank_end - 1) << 16)); diff --git a/src/i830_cursor.c b/src/i830_cursor.c index 52eb2661..43a65cb9 100644 --- a/src/i830_cursor.c +++ b/src/i830_cursor.c @@ -90,7 +90,7 @@ I830InitHWCursor(ScrnInfoPtr pScrn) { xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn); I830Ptr pI830 = I830PTR(pScrn); - CARD32 temp; + uint32_t temp; int i; DPRINTF(PFX, "I830InitHWCursor\n"); @@ -141,7 +141,7 @@ i830_crtc_load_cursor_image (xf86CrtcPtr crtc, unsigned char *src) { I830Ptr pI830 = I830PTR(crtc->scrn); I830CrtcPrivatePtr intel_crtc = crtc->driver_private; - CARD8 *pcurs; + uint8_t *pcurs; pcurs = pI830->FbBase + intel_crtc->cursor_offset; @@ -155,9 +155,9 @@ i830_crtc_load_cursor_argb (xf86CrtcPtr crtc, CARD32 *image) { I830Ptr pI830 = I830PTR(crtc->scrn); I830CrtcPrivatePtr intel_crtc = crtc->driver_private; - CARD32 *pcurs; + uint32_t *pcurs; - pcurs = (CARD32 *) (pI830->FbBase + intel_crtc->cursor_argb_offset); + pcurs = (uint32_t *) (pI830->FbBase + intel_crtc->cursor_argb_offset); intel_crtc->cursor_is_argb = TRUE; memcpy (pcurs, image, I810_CURSOR_Y * I810_CURSOR_X * 4); @@ -170,7 +170,7 @@ i830_crtc_set_cursor_position (xf86CrtcPtr crtc, int x, int y) ScrnInfoPtr scrn = crtc->scrn; I830Ptr pI830 = I830PTR(scrn); I830CrtcPrivatePtr intel_crtc = I830CrtcPrivate(crtc); - CARD32 temp; + uint32_t temp; temp = 0; if (x < 0) { @@ -204,7 +204,7 @@ i830_crtc_show_cursor (xf86CrtcPtr crtc) I830Ptr pI830 = I830PTR(scrn); I830CrtcPrivatePtr intel_crtc = I830CrtcPrivate(crtc); int pipe = intel_crtc->pipe; - CARD32 temp; + uint32_t temp; int cursor_control = (pipe == 0 ? CURSOR_A_CONTROL : CURSOR_B_CONTROL); @@ -242,7 +242,7 @@ i830_crtc_hide_cursor (xf86CrtcPtr crtc) I830Ptr pI830 = I830PTR(scrn); I830CrtcPrivatePtr intel_crtc = I830CrtcPrivate(crtc); int pipe = intel_crtc->pipe; - CARD32 temp; + uint32_t temp; int cursor_control = (pipe == 0 ? CURSOR_A_CONTROL : CURSOR_B_CONTROL); diff --git a/src/i830_debug.c b/src/i830_debug.c index 2e8c8514..15b02ceb 100644 --- a/src/i830_debug.c +++ b/src/i830_debug.c @@ -45,7 +45,8 @@ #include "i810_reg.h" -#define DEBUGSTRING(func) static char *func(I830Ptr pI830, int reg, CARD32 val) +#define DEBUGSTRING(func) static char *func(I830Ptr pI830, int reg, \ + uint32_t val) DEBUGSTRING(i830_debug_xyminus1) { @@ -486,8 +487,8 @@ DEBUGSTRING(i810_debug_fence_new) static struct i830SnapshotRec { int reg; char *name; - char *(*debug_output)(I830Ptr pI830, int reg, CARD32 val); - CARD32 val; + char *(*debug_output)(I830Ptr pI830, int reg, uint32_t val); + uint32_t val; } i830_snapshot[] = { DEFINEREG2(VCLK_DIVISOR_VGA0, i830_debug_fp), DEFINEREG2(VCLK_DIVISOR_VGA1, i830_debug_fp), @@ -668,7 +669,7 @@ void i830CompareRegsToSnapshot(ScrnInfoPtr pScrn, char *where) xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Comparing regs from server start up to %s\n", where); for (i = 0; i < NUM_I830_SNAPSHOTREGS; i++) { - CARD32 val = INREG(i830_snapshot[i].reg); + uint32_t val = INREG(i830_snapshot[i].reg); if (i830_snapshot[i].val == val) continue; @@ -752,7 +753,7 @@ void i830DumpRegs (ScrnInfoPtr pScrn) xf86DrvMsg (pScrn->scrnIndex, X_INFO, "DumpRegsBegin\n"); for (i = 0; i < NUM_I830_SNAPSHOTREGS; i++) { - CARD32 val = INREG(i830_snapshot[i].reg); + uint32_t val = INREG(i830_snapshot[i].reg); if (i830_snapshot[i].debug_output != NULL) { char *debug = i830_snapshot[i].debug_output(pI830, @@ -783,7 +784,7 @@ void i830DumpRegs (ScrnInfoPtr pScrn) dpll = INREG(pipe == 0 ? DPLL_A : DPLL_B); if (IS_I9XX(pI830)) { - CARD32 lvds = INREG(LVDS); + uint32_t lvds = INREG(LVDS); if ((lvds & LVDS_PORT_EN) && (lvds & LVDS_PIPEB_SELECT) == (pipe << 30)) { @@ -845,7 +846,7 @@ void i830DumpRegs (ScrnInfoPtr pScrn) } else { - CARD32 lvds = INREG(LVDS); + uint32_t lvds = INREG(LVDS); if (IS_I85X (pI830) && (lvds & LVDS_PORT_EN) && (lvds & LVDS_PIPEB_SELECT) == (pipe << 30)) @@ -957,28 +958,27 @@ i830_dump_error_state(ScrnInfoPtr pScrn) { I830Ptr pI830 = I830PTR(pScrn); - ErrorF("pgetbl_ctl: 0x%" CARD32_HEX "getbl_err: 0x%" CARD32_HEX "\n", + ErrorF("pgetbl_ctl: 0x%08x getbl_err: 0x%08x\n", INREG(PGETBL_CTL), INREG(PGE_ERR)); - ErrorF("ipeir: %" CARD32_HEX " iphdr: %" CARD32_HEX "\n", INREG(IPEIR), - INREG(IPEHR)); + ErrorF("ipeir: 0x%08x iphdr: 0x%08x\n", INREG(IPEIR), INREG(IPEHR)); - ErrorF("LP ring tail: %" CARD32_HEX " head: %" CARD32_HEX - " len: %" CARD32_HEX " start %" CARD32_HEX "\n", + ErrorF("LP ring tail: 0x%08x head: 0x%08x len: 0x%08x start 0x%08x\n", INREG(LP_RING + RING_TAIL), INREG(LP_RING + RING_HEAD) & HEAD_ADDR, INREG(LP_RING + RING_LEN), INREG(LP_RING + RING_START)); - ErrorF("eir: %x esr: %x emr: %x\n", + ErrorF("eir: 0x%04x esr: 0x%04x emr: 0x%04x\n", INREG16(EIR), INREG16(ESR), INREG16(EMR)); - ErrorF("instdone: %x instpm: %x\n", INREG16(INST_DONE), INREG8(INST_PM)); + ErrorF("instdone: 0x%04x instpm: 0x%04x\n", + INREG16(INST_DONE), INREG8(INST_PM)); - ErrorF("memmode: %" CARD32_HEX " instps: %" CARD32_HEX "\n", + ErrorF("memmode: 0x%08x instps: 0x%08x\n", INREG(MEMMODE), INREG(INST_PS)); - ErrorF("hwstam: %x ier: %x imr: %x iir: %x\n", + ErrorF("hwstam: 0x%04x ier: 0x%04x imr: 0x%04x iir: 0x%04x\n", INREG16(HWSTAM), INREG16(IER), INREG16(IMR), INREG16(IIR)); i830_dump_ring (pScrn); } @@ -988,78 +988,80 @@ i965_dump_error_state(ScrnInfoPtr pScrn) { I830Ptr pI830 = I830PTR(pScrn); - ErrorF("pgetbl_ctl: 0x%" CARD32_HEX " pgetbl_err: 0x%" CARD32_HEX "\n", + ErrorF("pgetbl_ctl: 0x%08x pgetbl_err: 0x%08x\n", INREG(PGETBL_CTL), INREG(PGE_ERR)); - ErrorF("ipeir: %" CARD32_HEX " iphdr: %" CARD32_HEX "\n", + ErrorF("ipeir: 0x%08x iphdr: 0x%08x\n", INREG(IPEIR_I965), INREG(IPEHR_I965)); - ErrorF("LP ring tail: %" CARD32_HEX " head: %" CARD32_HEX - " len: %" CARD32_HEX " start %" CARD32_HEX "\n", + ErrorF("LP ring tail: 0x%08x head: %x len: 0x%08x start 0x%08x\n", INREG(LP_RING + RING_TAIL), INREG(LP_RING + RING_HEAD) & HEAD_ADDR, - INREG(LP_RING + RING_LEN), INREG(LP_RING + RING_START)); + INREG(LP_RING + RING_LEN), + INREG(LP_RING + RING_START)); - ErrorF("Err ID (eir): %x Err Status (esr): %x Err Mask (emr): %x\n", - (int)INREG(EIR), (int)INREG(ESR), (int)INREG(EMR)); + ErrorF("Err ID (eir): 0x%08x\n" + "Err Status (esr): 0x%08x\n" + "Err Mask (emr): 0x%08x\n", + INREG(EIR), INREG(ESR), INREG(EMR)); - ErrorF("instdone: %x instdone_1: %x\n", (int)INREG(INST_DONE_I965), - (int)INREG(INST_DONE_1)); - ErrorF("instpm: %x\n", (int)INREG(INST_PM)); + ErrorF("instdone: 0x%08x instdone_1: 0x%08x\n", + INREG(INST_DONE_I965), INREG(INST_DONE_1)); + ErrorF("instpm: 0x%08x\n", INREG(INST_PM)); - ErrorF("memmode: %" CARD32_HEX " instps: %" CARD32_HEX "\n", + ErrorF("memmode: 0x%08x instps: 0x%08x\n", INREG(MEMMODE), INREG(INST_PS_I965)); - ErrorF("HW Status mask (hwstam): %x\nIRQ enable (ier): %x " - "imr: %x iir: %x\n", - (int)INREG(HWSTAM), (int)INREG(IER), (int)INREG(IMR), - (int)INREG(IIR)); + ErrorF("HW Status mask (hwstam): 0x%08x\nIRQ enable (ier): 0x%08x " + "imr: 0x%08x iir: 0x%08x\n", + INREG(HWSTAM), INREG(IER), INREG(IMR), INREG(IIR)); - ErrorF("acthd: %" CARD32_HEX " dma_fadd_p: %" CARD32_HEX "\n", + ErrorF("acthd: 0x%08x dma_fadd_p: 0x%08x\n", INREG(ACTHD), INREG(DMA_FADD_P)); - ErrorF("ecoskpd: %" CARD32_HEX " excc: %" CARD32_HEX "\n", + ErrorF("ecoskpd: 0x%08x excc: 0x%08x\n", INREG(ECOSKPD), INREG(EXCC)); - ErrorF("cache_mode: %x/%x\n", (int)INREG(CACHE_MODE_0), - (int)INREG(CACHE_MODE_1)); - ErrorF("mi_arb_state: %x\n", (int)INREG(MI_ARB_STATE)); - - ErrorF("IA_VERTICES_COUNT_QW %x/%x\n", - (int)INREG(IA_VERTICES_COUNT_QW), - (int)INREG(IA_VERTICES_COUNT_QW+4)); - ErrorF("IA_PRIMITIVES_COUNT_QW %x/%x\n", - (int)INREG(IA_PRIMITIVES_COUNT_QW), - (int)INREG(IA_PRIMITIVES_COUNT_QW+4)); - - ErrorF("VS_INVOCATION_COUNT_QW %x/%x\n", - (int)INREG(VS_INVOCATION_COUNT_QW), - (int)INREG(VS_INVOCATION_COUNT_QW+4)); - - ErrorF("GS_INVOCATION_COUNT_QW %x/%x\n", - (int)INREG(GS_INVOCATION_COUNT_QW), - (int)INREG(GS_INVOCATION_COUNT_QW+4)); - ErrorF("GS_PRIMITIVES_COUNT_QW %x/%x\n", - (int)INREG(GS_PRIMITIVES_COUNT_QW), - (int)INREG(GS_PRIMITIVES_COUNT_QW+4)); - - ErrorF("CL_INVOCATION_COUNT_QW %x/%x\n", - (int)INREG(CL_INVOCATION_COUNT_QW), - (int)INREG(CL_INVOCATION_COUNT_QW+4)); - ErrorF("CL_PRIMITIVES_COUNT_QW %x/%x\n", - (int)INREG(CL_PRIMITIVES_COUNT_QW), - (int)INREG(CL_PRIMITIVES_COUNT_QW+4)); - - ErrorF("PS_INVOCATION_COUNT_QW %x/%x\n", - (int)INREG(PS_INVOCATION_COUNT_QW), - (int)INREG(PS_INVOCATION_COUNT_QW+4)); - ErrorF("PS_DEPTH_COUNT_QW %x/%x\n", - (int)INREG(PS_DEPTH_COUNT_QW), - (int)INREG(PS_DEPTH_COUNT_QW+4)); - - ErrorF("WIZ_CTL %x\n", (int)INREG(WIZ_CTL)); - ErrorF("TS_CTL %x TS_DEBUG_DATA %x\n", (int)INREG(TS_CTL), - (int)INREG(TS_DEBUG_DATA)); - ErrorF("TD_CTL %x / %x\n", (int)INREG(TD_CTL), (int)INREG(TD_CTL2)); + ErrorF("cache_mode: 0x%08x/0x%08x\n", INREG(CACHE_MODE_0), + INREG(CACHE_MODE_1)); + ErrorF("mi_arb_state: 0x%08x\n", INREG(MI_ARB_STATE)); + + ErrorF("IA_VERTICES_COUNT_QW 0x%08x/0x%08x\n", + INREG(IA_VERTICES_COUNT_QW), + INREG(IA_VERTICES_COUNT_QW+4)); + ErrorF("IA_PRIMITIVES_COUNT_QW 0x%08x/0x%08x\n", + INREG(IA_PRIMITIVES_COUNT_QW), + INREG(IA_PRIMITIVES_COUNT_QW+4)); + + ErrorF("VS_INVOCATION_COUNT_QW 0x%08x/0x%08x\n", + INREG(VS_INVOCATION_COUNT_QW), + INREG(VS_INVOCATION_COUNT_QW+4)); + + ErrorF("GS_INVOCATION_COUNT_QW 0x%08x/0x%08x\n", + INREG(GS_INVOCATION_COUNT_QW), + INREG(GS_INVOCATION_COUNT_QW+4)); + ErrorF("GS_PRIMITIVES_COUNT_QW 0x%08x/0x%08x\n", + INREG(GS_PRIMITIVES_COUNT_QW), + INREG(GS_PRIMITIVES_COUNT_QW+4)); + + ErrorF("CL_INVOCATION_COUNT_QW 0x%08x/0x%08x\n", + INREG(CL_INVOCATION_COUNT_QW), + INREG(CL_INVOCATION_COUNT_QW+4)); + ErrorF("CL_PRIMITIVES_COUNT_QW 0x%08x/0x%08x\n", + INREG(CL_PRIMITIVES_COUNT_QW), + INREG(CL_PRIMITIVES_COUNT_QW+4)); + + ErrorF("PS_INVOCATION_COUNT_QW 0x%08x/0x%08x\n", + INREG(PS_INVOCATION_COUNT_QW), + INREG(PS_INVOCATION_COUNT_QW+4)); + ErrorF("PS_DEPTH_COUNT_QW 0x%08x/0x%08x\n", + INREG(PS_DEPTH_COUNT_QW), + INREG(PS_DEPTH_COUNT_QW+4)); + + ErrorF("WIZ_CTL 0x%08x\n", INREG(WIZ_CTL)); + ErrorF("TS_CTL 0x%08x TS_DEBUG_DATA 0x%08x\n", INREG(TS_CTL), + INREG(TS_DEBUG_DATA)); + ErrorF("TD_CTL 0x%08x / 0x%08x\n", + INREG(TD_CTL), INREG(TD_CTL2)); } /** diff --git a/src/i830_display.c b/src/i830_display.c index ea6d067d..b5898966 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -767,7 +767,7 @@ i830_crtc_dpms(xf86CrtcPtr crtc, int mode) int pipeconf_reg = (pipe == 0) ? PIPEACONF : PIPEBCONF; int dspcntr_reg = (plane == 0) ? DSPACNTR : DSPBCNTR; int dspbase_reg = (plane == 0) ? DSPABASE : DSPBBASE; - CARD32 temp; + uint32_t temp; /* XXX: When our outputs are all unaware of DPMS modes other than off and * on, we should map those modes to DPMSModeOff in the CRTC. @@ -1012,7 +1012,7 @@ i830_get_core_clock_speed(ScrnInfoPtr pScrn) pci_device_cfg_read_u16 (bridge, &hpllcc, I855_HPLLCC); #else PCITAG bridge = pciTag(0, 0, 0); /* This is always the host bridge */ - CARD16 hpllcc = pciReadWord(bridge, I855_HPLLCC); + uint16_t hpllcc = pciReadWord(bridge, I855_HPLLCC); #endif /* Assume that the hardware is in the high speed state. This @@ -1040,7 +1040,7 @@ i830_get_core_clock_speed(ScrnInfoPtr pScrn) static int i830_panel_fitter_pipe(I830Ptr pI830) { - CARD32 pfit_control; + uint32_t pfit_control; /* i830 doesn't have a panel fitter */ if (IS_I830(pI830)) @@ -1097,7 +1097,7 @@ i830_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, int i; int refclk; intel_clock_t clock; - CARD32 dpll = 0, fp = 0, dspcntr, pipeconf; + uint32_t dpll = 0, fp = 0, dspcntr, pipeconf; Bool ok, is_sdvo = FALSE, is_dvo = FALSE; Bool is_crt = FALSE, is_lvds = FALSE, is_tv = FALSE; @@ -1295,7 +1295,7 @@ i830_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, */ if (is_lvds) { - CARD32 lvds = INREG(LVDS); + uint32_t lvds = INREG(LVDS); lvds |= LVDS_PORT_EN | LVDS_A0A2_CLKA_POWER_UP | LVDS_PIPEB_SELECT; /* Set the B0-B3 data pairs corresponding to whether we're going to @@ -1508,9 +1508,9 @@ i830DescribeOutputConfiguration(ScrnInfoPtr pScrn) for (i = 0; i < xf86_config->num_crtc; i++) { xf86CrtcPtr crtc = xf86_config->crtc[i]; I830CrtcPrivatePtr intel_crtc = crtc ? crtc->driver_private : NULL; - CARD32 dspcntr = intel_crtc->plane == 0 ? INREG(DSPACNTR) : + uint32_t dspcntr = intel_crtc->plane == 0 ? INREG(DSPACNTR) : INREG(DSPBCNTR); - CARD32 pipeconf = i == 0 ? INREG(PIPEACONF) : + uint32_t pipeconf = i == 0 ? INREG(PIPEACONF) : INREG(PIPEBCONF); Bool hw_plane_enable = (dspcntr & DISPLAY_PLANE_ENABLE) != 0; Bool hw_pipe_enable = (pipeconf & PIPEACONF_ENABLE) != 0; @@ -1686,8 +1686,8 @@ i830_crtc_clock_get(ScrnInfoPtr pScrn, xf86CrtcPtr crtc) I830Ptr pI830 = I830PTR(pScrn); I830CrtcPrivatePtr intel_crtc = crtc->driver_private; int pipe = intel_crtc->pipe; - CARD32 dpll = INREG((pipe == 0) ? DPLL_A : DPLL_B); - CARD32 fp; + uint32_t dpll = INREG((pipe == 0) ? DPLL_A : DPLL_B); + uint32_t fp; intel_clock_t clock; if ((dpll & DISPLAY_RATE_SELECT_FPA1) == 0) diff --git a/src/i830_dri.c b/src/i830_dri.c index 141b970f..768c724f 100644 --- a/src/i830_dri.c +++ b/src/i830_dri.c @@ -993,7 +993,7 @@ I830DRIFinishScreenInit(ScreenPtr pScreen) * Otherwise will have to sync again??? */ static void -I830DRIDoRefreshArea (ScrnInfoPtr pScrn, int num, BoxPtr pbox, CARD32 dst) +I830DRIDoRefreshArea (ScrnInfoPtr pScrn, int num, BoxPtr pbox, uint32_t dst) { I830Ptr pI830 = I830PTR(pScrn); int i, cmd, br13 = (pScrn->displayWidth * pI830->cpp) | (0xcc << 16); diff --git a/src/i830_driver.c b/src/i830_driver.c index 854e3775..0365d204 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -606,8 +606,8 @@ I830MapMMIO(ScrnInfoPtr pScrn) * time. */ if (IS_I9XX(pI830)) { - CARD32 gttaddr; - + uint32_t gttaddr; + if (IS_I965G(pI830)) { if (IS_IGD_GM(pI830)) { @@ -744,7 +744,7 @@ I830LoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn); int i,j, index; int p; - CARD16 lut_r[256], lut_g[256], lut_b[256]; + uint16_t lut_r[256], lut_g[256], lut_b[256]; DPRINTF(PFX, "I830LoadPalette: numColors: %d\n", numColors); @@ -1026,7 +1026,7 @@ static void i830SetHotkeyControl(ScrnInfoPtr pScrn, int mode) { I830Ptr pI830 = I830PTR(pScrn); - CARD8 gr18; + uint8_t gr18; gr18 = pI830->readControl(pI830, GRX, 0x18); if (mode == HOTKEY_BIOS_SWITCH) @@ -1214,7 +1214,7 @@ i830_detect_chipset(ScrnInfoPtr pScrn) pci_device_cfg_read_u16 (bridge, &gmch_ctrl, I830_GMCH_CTRL); #else PCITAG bridge; - CARD16 gmch_ctrl; + uint16_t gmch_ctrl; bridge = pciTag(0, 0, 0); /* This is always the host bridge */ gmch_ctrl = pciReadWord(bridge, I830_GMCH_CTRL); @@ -2317,7 +2317,7 @@ void IntelEmitInvarientState(ScrnInfoPtr pScrn) { I830Ptr pI830 = I830PTR(pScrn); - CARD32 ctx_addr; + uint32_t ctx_addr; if (pI830->noAccel) return; diff --git a/src/i830_dvo.c b/src/i830_dvo.c index 81d56012..c0f76e30 100644 --- a/src/i830_dvo.c +++ b/src/i830_dvo.c @@ -226,7 +226,7 @@ i830_dvo_mode_set(xf86OutputPtr output, DisplayModePtr mode, I830OutputPrivatePtr intel_output = output->driver_private; struct _I830DVODriver *drv = intel_output->i2c_drv; int pipe = intel_crtc->pipe; - CARD32 dvo; + uint32_t dvo; unsigned int dvo_reg = drv->dvo_reg, dvo_srcdim_reg; int dpll_reg = (pipe == 0) ? DPLL_A : DPLL_B; @@ -358,7 +358,7 @@ i830_dvo_get_current_mode (xf86OutputPtr output) I830Ptr pI830 = I830PTR(pScrn); struct _I830DVODriver *drv = intel_output->i2c_drv; unsigned int dvo_reg = drv->dvo_reg; - CARD32 dvo = INREG(dvo_reg); + uint32_t dvo = INREG(dvo_reg); DisplayModePtr mode = NULL; /* If the DVO port is active, that'll be the LVDS, so we can pull out diff --git a/src/i830_exa.c b/src/i830_exa.c index 32c55dd0..1f6bf1d9 100644 --- a/src/i830_exa.c +++ b/src/i830_exa.c @@ -376,8 +376,8 @@ i830_upload_to_screen(PixmapPtr pDst, int x, int y, int w, int h, char *src, const int uts_width_max = 16, uts_height_max = 16; int cpp = pDst->drawable.bitsPerPixel / 8; int sub_x, sub_y; - CARD32 br13; - CARD32 offset; + uint32_t br13; + uint32_t offset; if (w > uts_width_max || h > uts_height_max) I830FALLBACK("too large for upload to screen (%d,%d)", w, h); diff --git a/src/i830_i2c.c b/src/i830_i2c.c index 33a75a81..8392d0a5 100644 --- a/src/i830_i2c.c +++ b/src/i830_i2c.c @@ -59,7 +59,7 @@ static void i830_setscl(I2CBusPtr b, int state) { ScrnInfoPtr pScrn = xf86Screens[b->scrnIndex]; I830Ptr pI830 = I830PTR(pScrn); - CARD32 val; + uint32_t val; OUTREG(b->DriverPrivate.uval, (state ? GPIO_CLOCK_VAL_OUT : 0) | GPIO_CLOCK_DIR_OUT | @@ -71,7 +71,7 @@ static void i830_setsda(I2CBusPtr b, int state) { ScrnInfoPtr pScrn = xf86Screens[b->scrnIndex]; I830Ptr pI830 = I830PTR(pScrn); - CARD32 val; + uint32_t val; OUTREG(b->DriverPrivate.uval, (state ? GPIO_DATA_VAL_OUT : 0) | GPIO_DATA_DIR_OUT | @@ -83,7 +83,7 @@ static void i830_getscl(I2CBusPtr b, int *state) { ScrnInfoPtr pScrn = xf86Screens[b->scrnIndex]; I830Ptr pI830 = I830PTR(pScrn); - CARD32 val; + uint32_t val; OUTREG(b->DriverPrivate.uval, GPIO_CLOCK_DIR_IN | GPIO_CLOCK_DIR_MASK); OUTREG(b->DriverPrivate.uval, 0); @@ -95,7 +95,7 @@ static int i830_getsda(I2CBusPtr b) { ScrnInfoPtr pScrn = xf86Screens[b->scrnIndex]; I830Ptr pI830 = I830PTR(pScrn); - CARD32 val; + uint32_t val; OUTREG(b->DriverPrivate.uval, GPIO_DATA_DIR_IN | GPIO_DATA_DIR_MASK); OUTREG(b->DriverPrivate.uval, 0); @@ -272,7 +272,7 @@ i830I2CGetBits(I2CBusPtr b, int *clock, int *data) { ScrnInfoPtr pScrn = xf86Screens[b->scrnIndex]; I830Ptr pI830 = I830PTR(pScrn); - CARD32 val; + uint32_t val; val = INREG(b->DriverPrivate.uval); @@ -295,8 +295,8 @@ i830I2CGetBits(I2CBusPtr b, int *clock, int *data) static void i830I2CPutBits(I2CBusPtr b, int clock, int data) { - CARD32 reserved = 0; - CARD32 data_bits, clock_bits; + uint32_t reserved = 0; + uint32_t data_bits, clock_bits; #if I2C_DEBUG int cur_clock, cur_data; diff --git a/src/i830_lvds.c b/src/i830_lvds.c index eefb08b1..a23631cc 100644 --- a/src/i830_lvds.c +++ b/src/i830_lvds.c @@ -108,7 +108,7 @@ i830_set_lvds_backlight_method(xf86OutputPtr output) { ScrnInfoPtr pScrn = output->scrn; I830Ptr pI830 = I830PTR(pScrn); - CARD32 blc_pwm_ctl, blc_pwm_ctl2; + uint32_t blc_pwm_ctl, blc_pwm_ctl2; enum backlight_control method = BCM_NATIVE; /* Default to native */ if (i830_kernel_backlight_available(output)) { @@ -134,7 +134,7 @@ i830_lvds_set_backlight_native(xf86OutputPtr output, int level) { ScrnInfoPtr pScrn = output->scrn; I830Ptr pI830 = I830PTR(pScrn); - CARD32 blc_pwm_ctl; + uint32_t blc_pwm_ctl; blc_pwm_ctl = INREG(BLC_PWM_CTL); blc_pwm_ctl &= ~BACKLIGHT_DUTY_CYCLE_MASK; @@ -146,7 +146,7 @@ i830_lvds_get_backlight_native(xf86OutputPtr output) { ScrnInfoPtr pScrn = output->scrn; I830Ptr pI830 = I830PTR(pScrn); - CARD32 blc_pwm_ctl; + uint32_t blc_pwm_ctl; blc_pwm_ctl = INREG(BLC_PWM_CTL); blc_pwm_ctl &= BACKLIGHT_DUTY_CYCLE_MASK; @@ -158,7 +158,7 @@ i830_lvds_get_backlight_max_native(xf86OutputPtr output) { ScrnInfoPtr pScrn = output->scrn; I830Ptr pI830 = I830PTR(pScrn); - CARD32 pwm_ctl = INREG(BLC_PWM_CTL); + uint32_t pwm_ctl = INREG(BLC_PWM_CTL); int val; if (IS_I965GM(pI830) || IS_IGD_GM(pI830)) { @@ -194,7 +194,7 @@ i830_lvds_get_backlight_legacy(xf86OutputPtr output) { ScrnInfoPtr pScrn = output->scrn; I830Ptr pI830 = I830PTR(pScrn); - CARD8 lbb; + uint8_t lbb; #if XSERVER_LIBPCIACCESS pci_device_cfg_read_u8(pI830->PciInfo, &lbb, LEGACY_BACKLIGHT_BRIGHTNESS); @@ -213,8 +213,8 @@ i830_lvds_set_backlight_combo(xf86OutputPtr output, int level) { ScrnInfoPtr pScrn = output->scrn; I830Ptr pI830 = I830PTR(pScrn); - CARD32 blc_pwm_ctl; - CARD8 lbb; + uint32_t blc_pwm_ctl; + uint8_t lbb; #if XSERVER_LIBPCIACCESS pci_device_cfg_read_u8(pI830->PciInfo, &lbb, LEGACY_BACKLIGHT_BRIGHTNESS); @@ -250,7 +250,7 @@ i830_lvds_get_backlight_combo(xf86OutputPtr output) { ScrnInfoPtr pScrn = output->scrn; I830Ptr pI830 = I830PTR(pScrn); - CARD32 blc_pwm_ctl; + uint32_t blc_pwm_ctl; blc_pwm_ctl = INREG(BLC_PWM_CTL); blc_pwm_ctl &= BACKLIGHT_DUTY_CYCLE_MASK; @@ -369,7 +369,7 @@ i830SetLVDSPanelPower(xf86OutputPtr output, Bool on) struct i830_lvds_priv *dev_priv = intel_output->dev_priv; ScrnInfoPtr pScrn = output->scrn; I830Ptr pI830 = I830PTR(pScrn); - CARD32 pp_status; + uint32_t pp_status; if (on) { /* @@ -534,7 +534,7 @@ i830_lvds_mode_set(xf86OutputPtr output, DisplayModePtr mode, ScrnInfoPtr pScrn = output->scrn; I830Ptr pI830 = I830PTR(pScrn); I830CrtcPrivatePtr intel_crtc = output->crtc->driver_private; - CARD32 pfit_control; + uint32_t pfit_control; /* The LVDS pin pair will already have been turned on in * i830_crtc_mode_set since it has a large impact on the DPLL settings. @@ -964,7 +964,7 @@ i830_lvds_init(ScrnInfoPtr pScrn) * If so, assume that whatever is currently programmed is the correct mode. */ if (dev_priv->panel_fixed_mode == NULL) { - CARD32 lvds = INREG(LVDS); + uint32_t lvds = INREG(LVDS); int pipe = (lvds & LVDS_PIPEB_SELECT) ? 1 : 0; xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn); xf86CrtcPtr crtc = xf86_config->crtc[pipe]; diff --git a/src/i830_memory.c b/src/i830_memory.c index e9097ecb..ec4d699a 100644 --- a/src/i830_memory.c +++ b/src/i830_memory.c @@ -543,7 +543,7 @@ static uint64_t i830_get_gtt_physical(ScrnInfoPtr pScrn, unsigned long offset) { I830Ptr pI830 = I830PTR(pScrn); - CARD32 gttentry; + uint32_t gttentry; /* We don't have GTTBase set up on i830 yet. */ if (pI830->GTTBase == NULL) @@ -1712,8 +1712,8 @@ i830_set_tiling(ScrnInfoPtr pScrn, unsigned int offset, enum tile_format tile_format) { I830Ptr pI830 = I830PTR(pScrn); - CARD32 val; - CARD32 fence_mask = 0; + uint32_t val; + uint32_t fence_mask = 0; unsigned int fence_pitch; unsigned int max_fence; unsigned int fence_nr; diff --git a/src/i830_render.c b/src/i830_render.c index ed44b368..ccfd670c 100644 --- a/src/i830_render.c +++ b/src/i830_render.c @@ -54,13 +54,13 @@ do { \ struct blendinfo { Bool dst_alpha; Bool src_alpha; - CARD32 src_blend; - CARD32 dst_blend; + uint32_t src_blend; + uint32_t dst_blend; }; struct formatinfo { int fmt; - CARD32 card_fmt; + uint32_t card_fmt; }; #define TB0C_LAST_STAGE (1 << 31) @@ -154,7 +154,7 @@ static struct formatinfo i830_tex_formats[] = { {PICT_a8, MT_8BIT_A8 }, }; -static Bool i830_get_dest_format(PicturePtr pDstPicture, CARD32 *dst_format) +static Bool i830_get_dest_format(PicturePtr pDstPicture, uint32_t *dst_format) { switch (pDstPicture->format) { case PICT_a8r8g8b8: @@ -186,9 +186,10 @@ static Bool i830_get_dest_format(PicturePtr pDstPicture, CARD32 *dst_format) } -static CARD32 i830_get_blend_cntl(int op, PicturePtr pMask, CARD32 dst_format) +static uint32_t i830_get_blend_cntl(int op, PicturePtr pMask, + uint32_t dst_format) { - CARD32 sblend, dblend; + uint32_t sblend, dblend; sblend = i830_blend_op[op].src_blend; dblend = i830_blend_op[op].dst_blend; @@ -260,7 +261,7 @@ static Bool i830_check_composite_texture(PicturePtr pPict, int unit) return TRUE; } -static CARD32 +static uint32_t i8xx_get_card_format(PicturePtr pPict) { int i; @@ -279,8 +280,8 @@ i830_texture_setup(PicturePtr pPict, PixmapPtr pPix, int unit) ScrnInfoPtr pScrn = xf86Screens[pPict->pDrawable->pScreen->myNum]; I830Ptr pI830 = I830PTR(pScrn); - CARD32 format, offset, pitch, filter; - CARD32 wrap_mode = TEXCOORDMODE_CLAMP_BORDER; + uint32_t format, offset, pitch, filter; + uint32_t wrap_mode = TEXCOORDMODE_CLAMP_BORDER; offset = intel_get_pixmap_offset(pPix); pitch = intel_get_pixmap_pitch(pPix); @@ -362,7 +363,7 @@ Bool i830_check_composite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, PicturePtr pDstPicture) { - CARD32 tmp1; + uint32_t tmp1; /* Check for unsupported compositing operations. */ if (op >= sizeof(i830_blend_op) / sizeof(i830_blend_op[0])) @@ -398,7 +399,7 @@ i830_prepare_composite(int op, PicturePtr pSrcPicture, { ScrnInfoPtr pScrn = xf86Screens[pSrcPicture->pDrawable->pScreen->myNum]; I830Ptr pI830 = I830PTR(pScrn); - CARD32 dst_format, dst_offset, dst_pitch; + uint32_t dst_format, dst_offset, dst_pitch; IntelEmitInvarientState(pScrn); *pI830->last_3d = LAST_3D_RENDER; @@ -420,7 +421,7 @@ i830_prepare_composite(int op, PicturePtr pSrcPicture, } { - CARD32 cblend, ablend, blendctl, vf2; + uint32_t cblend, ablend, blendctl, vf2; BEGIN_LP_RING(30); diff --git a/src/i830_sdvo.c b/src/i830_sdvo.c index d0c65f28..9a89cc9b 100644 --- a/src/i830_sdvo.c +++ b/src/i830_sdvo.c @@ -59,7 +59,7 @@ struct i830_sdvo_priv { int output_device; /** Active outputs controlled by this SDVO output */ - CARD16 active_outputs; + uint16_t active_outputs; /** * Capabilities of the SDVO device returned by i830_sdvo_get_capabilities() @@ -72,10 +72,10 @@ struct i830_sdvo_priv { /** State for save/restore */ /** @{ */ int save_sdvo_mult; - CARD16 save_active_outputs; + uint16_t save_active_outputs; struct i830_sdvo_dtd save_input_dtd_1, save_input_dtd_2; struct i830_sdvo_dtd save_output_dtd[16]; - CARD32 save_SDVOX; + uint32_t save_SDVOX; /** @} */ }; @@ -84,13 +84,13 @@ struct i830_sdvo_priv { * SDVOB and SDVOC to work around apparent hardware issues (according to * comments in the BIOS). */ -static void i830_sdvo_write_sdvox(xf86OutputPtr output, CARD32 val) +static void i830_sdvo_write_sdvox(xf86OutputPtr output, uint32_t val) { ScrnInfoPtr pScrn = output->scrn; I830OutputPrivatePtr intel_output = output->driver_private; struct i830_sdvo_priv *dev_priv = intel_output->dev_priv; I830Ptr pI830 = I830PTR(pScrn); - CARD32 bval = val, cval = val; + uint32_t bval = val, cval = val; int i; if (dev_priv->output_device == SDVOB) @@ -158,7 +158,7 @@ static Bool i830_sdvo_write_byte(xf86OutputPtr output, #define SDVO_CMD_NAME_ENTRY(cmd) {cmd, #cmd} /** Mapping of command numbers to names, for debug output */ const static struct _sdvo_cmd_name { - CARD8 cmd; + uint8_t cmd; char *name; } sdvo_cmd_names[] = { SDVO_CMD_NAME_ENTRY(SDVO_CMD_RESET), @@ -212,7 +212,8 @@ static I2CSlaveAddr slaveAddr; * Writes out the data given in args (up to 8 bytes), followed by the opcode. */ static void -i830_sdvo_write_cmd(xf86OutputPtr output, CARD8 cmd, void *args, int args_len) +i830_sdvo_write_cmd(xf86OutputPtr output, uint8_t cmd, void *args, + int args_len) { I830Ptr pI830 = I830PTR(output->scrn); I830OutputPrivatePtr intel_output = output->driver_private; @@ -227,7 +228,7 @@ i830_sdvo_write_cmd(xf86OutputPtr output, CARD8 cmd, void *args, int args_len) xf86DrvMsg(intel_output->pI2CBus->scrnIndex, X_INFO, "%s: W: %02X ", SDVO_NAME(dev_priv), cmd); for (i = 0; i < args_len; i++) - LogWrite(1, "%02X ", ((CARD8 *)args)[i]); + LogWrite(1, "%02X ", ((uint8_t *)args)[i]); for (; i < 8; i++) LogWrite(1, " "); for (i = 0; i < sizeof(sdvo_cmd_names) / sizeof(sdvo_cmd_names[0]); @@ -245,7 +246,7 @@ i830_sdvo_write_cmd(xf86OutputPtr output, CARD8 cmd, void *args, int args_len) /* send the output regs */ for (i = 0; i < args_len; i++) { - i830_sdvo_write_byte(output, SDVO_I2C_ARG_0 - i, ((CARD8 *)args)[i]); + i830_sdvo_write_byte(output, SDVO_I2C_ARG_0 - i, ((uint8_t *)args)[i]); } /* blast the command reg */ i830_sdvo_write_byte(output, SDVO_I2C_OPCODE, cmd); @@ -264,20 +265,20 @@ static const char *cmd_status_names[] = { /** * Reads back response_len bytes from the SDVO device, and returns the status. */ -static CARD8 +static uint8_t i830_sdvo_read_response(xf86OutputPtr output, void *response, int response_len) { I830Ptr pI830 = I830PTR(output->scrn); I830OutputPrivatePtr intel_output = output->driver_private; int i; - CARD8 status; - CARD8 retry = 50; + uint8_t status; + uint8_t retry = 50; while (retry--) { /* Read the command response */ for (i = 0; i < response_len; i++) { i830_sdvo_read_byte(output, SDVO_I2C_RETURN_0 + i, - &((CARD8 *)response)[i]); + &((uint8_t *)response)[i]); } /* Read the return status */ @@ -288,7 +289,7 @@ i830_sdvo_read_response(xf86OutputPtr output, void *response, int response_len) xf86DrvMsg(intel_output->pI2CBus->scrnIndex, X_INFO, "%s: R: ", SDVO_NAME(SDVO_PRIV(intel_output))); for (i = 0; i < response_len; i++) - LogWrite(1, "%02X ", ((CARD8 *)response)[i]); + LogWrite(1, "%02X ", ((uint8_t *)response)[i]); for (; i < 8; i++) LogWrite(1, " "); if (status <= SDVO_CMD_STATUS_SCALING_NOT_SUPP) { @@ -324,7 +325,7 @@ i830_sdvo_get_pixel_multiplier(DisplayModePtr pMode) * STOP. PROM access is terminated by accessing an internal register. */ static void -i830_sdvo_set_control_bus_switch(xf86OutputPtr output, CARD8 target) +i830_sdvo_set_control_bus_switch(xf86OutputPtr output, uint8_t target) { i830_sdvo_write_cmd(output, SDVO_CMD_SET_CONTROL_BUS_SWITCH, &target, 1); } @@ -333,7 +334,7 @@ static Bool i830_sdvo_set_target_input(xf86OutputPtr output, Bool target_0, Bool target_1) { struct i830_sdvo_set_target_input_args targets = {0}; - CARD8 status; + uint8_t status; if (target_0 && target_1) return SDVO_CMD_STATUS_NOTSUPP; @@ -359,7 +360,7 @@ static Bool i830_sdvo_get_trained_inputs(xf86OutputPtr output, Bool *input_1, Bool *input_2) { struct i830_sdvo_get_trained_inputs_response response; - CARD8 status; + uint8_t status; i830_sdvo_write_cmd(output, SDVO_CMD_GET_TRAINED_INPUTS, NULL, 0); @@ -375,9 +376,9 @@ i830_sdvo_get_trained_inputs(xf86OutputPtr output, Bool *input_1, Bool *input_2) static Bool i830_sdvo_get_active_outputs(xf86OutputPtr output, - CARD16 *outputs) + uint16_t *outputs) { - CARD8 status; + uint8_t status; i830_sdvo_write_cmd(output, SDVO_CMD_GET_ACTIVE_OUTPUTS, NULL, 0); status = i830_sdvo_read_response(output, outputs, sizeof(*outputs)); @@ -387,9 +388,9 @@ i830_sdvo_get_active_outputs(xf86OutputPtr output, static Bool i830_sdvo_set_active_outputs(xf86OutputPtr output, - CARD16 outputs) + uint16_t outputs) { - CARD8 status; + uint8_t status; i830_sdvo_write_cmd(output, SDVO_CMD_SET_ACTIVE_OUTPUTS, &outputs, sizeof(outputs)); @@ -401,8 +402,8 @@ i830_sdvo_set_active_outputs(xf86OutputPtr output, static Bool i830_sdvo_set_encoder_power_state(xf86OutputPtr output, int mode) { - CARD8 status; - CARD8 state; + uint8_t status; + uint8_t state; switch (mode) { case DPMSModeOn: @@ -434,7 +435,7 @@ i830_sdvo_get_input_pixel_clock_range(xf86OutputPtr output, int *clock_min, int *clock_max) { struct i830_sdvo_pixel_clock_range clocks; - CARD8 status; + uint8_t status; i830_sdvo_write_cmd(output, SDVO_CMD_GET_INPUT_PIXEL_CLOCK_RANGE, NULL, 0); @@ -451,9 +452,9 @@ i830_sdvo_get_input_pixel_clock_range(xf86OutputPtr output, int *clock_min, } static Bool -i830_sdvo_set_target_output(xf86OutputPtr output, CARD16 outputs) +i830_sdvo_set_target_output(xf86OutputPtr output, uint16_t outputs) { - CARD8 status; + uint8_t status; i830_sdvo_write_cmd(output, SDVO_CMD_SET_TARGET_OUTPUT, &outputs, sizeof(outputs)); @@ -465,9 +466,9 @@ i830_sdvo_set_target_output(xf86OutputPtr output, CARD16 outputs) /** Fetches either input or output timings to *dtd, depending on cmd. */ static Bool -i830_sdvo_get_timing(xf86OutputPtr output, CARD8 cmd, struct i830_sdvo_dtd *dtd) +i830_sdvo_get_timing(xf86OutputPtr output, uint8_t cmd, struct i830_sdvo_dtd *dtd) { - CARD8 status; + uint8_t status; i830_sdvo_write_cmd(output, cmd, NULL, 0); @@ -498,9 +499,10 @@ i830_sdvo_get_output_timing(xf86OutputPtr output, struct i830_sdvo_dtd *dtd) /** Sets either input or output timings from *dtd, depending on cmd. */ static Bool -i830_sdvo_set_timing(xf86OutputPtr output, CARD8 cmd, struct i830_sdvo_dtd *dtd) +i830_sdvo_set_timing(xf86OutputPtr output, uint8_t cmd, + struct i830_sdvo_dtd *dtd) { - CARD8 status; + uint8_t status; i830_sdvo_write_cmd(output, cmd, &dtd->part1, sizeof(dtd->part1)); status = i830_sdvo_read_response(output, NULL, 0); @@ -529,8 +531,8 @@ i830_sdvo_set_output_timing(xf86OutputPtr output, struct i830_sdvo_dtd *dtd) #if 0 static Bool -i830_sdvo_create_preferred_input_timing(xf86OutputPtr output, CARD16 clock, - CARD16 width, CARD16 height) +i830_sdvo_create_preferred_input_timing(xf86OutputPtr output, uint16_t clock, + uint16_t width, uint16_t height) { struct i830_sdvo_priv *dev_priv = output->dev_priv; struct i830_sdvo_preferred_input_timing_args args; @@ -577,8 +579,8 @@ i830_sdvo_get_clock_rate_mult(xf86OutputPtr output) { I830OutputPrivatePtr intel_output = output->driver_private; struct i830_sdvo_priv *dev_priv = intel_output->dev_priv; - CARD8 response; - CARD8 status; + uint8_t response; + uint8_t status; i830_sdvo_write_cmd(output, SDVO_CMD_GET_CLOCK_RATE_MULT, NULL, 0); status = i830_sdvo_read_response(output, &response, 1); @@ -602,9 +604,9 @@ i830_sdvo_get_clock_rate_mult(xf86OutputPtr output) * is actually turned on. */ static Bool -i830_sdvo_set_clock_rate_mult(xf86OutputPtr output, CARD8 val) +i830_sdvo_set_clock_rate_mult(xf86OutputPtr output, uint8_t val) { - CARD8 status; + uint8_t status; i830_sdvo_write_cmd(output, SDVO_CMD_SET_CLOCK_RATE_MULT, &val, 1); status = i830_sdvo_read_response(output, NULL, 0); @@ -636,13 +638,13 @@ i830_sdvo_mode_set(xf86OutputPtr output, DisplayModePtr mode, struct i830_sdvo_priv *dev_priv = intel_output->dev_priv; xf86CrtcPtr crtc = output->crtc; I830CrtcPrivatePtr intel_crtc = crtc->driver_private; - CARD32 sdvox; + uint32_t sdvox; int sdvo_pixel_multiply; - CARD16 width, height; - CARD16 h_blank_len, h_sync_len, v_blank_len, v_sync_len; - CARD16 h_sync_offset, v_sync_offset; + uint16_t width, height; + uint16_t h_blank_len, h_sync_len, v_blank_len, v_sync_len; + uint16_t h_sync_offset, v_sync_offset; struct i830_sdvo_dtd output_dtd; - CARD16 no_outputs; + uint16_t no_outputs; no_outputs = 0; @@ -763,7 +765,7 @@ i830_sdvo_dpms(xf86OutputPtr output, int mode) I830OutputPrivatePtr intel_output = output->driver_private; struct i830_sdvo_priv *dev_priv = intel_output->dev_priv; I830Ptr pI830 = I830PTR(pScrn); - CARD32 temp; + uint32_t temp; if (mode != DPMSModeOn) { i830_sdvo_set_active_outputs(output, 0); @@ -779,7 +781,7 @@ i830_sdvo_dpms(xf86OutputPtr output, int mode) } else { Bool input1, input2; int i; - CARD8 status; + uint8_t status; temp = INREG(dev_priv->output_device); if ((temp & SDVO_ENABLE) == 0) @@ -828,7 +830,7 @@ i830_sdvo_save(xf86OutputPtr output) for (o = SDVO_OUTPUT_FIRST; o <= SDVO_OUTPUT_LAST; o++) { - CARD16 this_output = (1 << o); + uint16_t this_output = (1 << o); if (dev_priv->caps.output_flags & this_output) { i830_sdvo_set_target_output(output, this_output); @@ -848,13 +850,13 @@ i830_sdvo_restore(xf86OutputPtr output) int o; int i; Bool input1, input2; - CARD8 status; + uint8_t status; i830_sdvo_set_active_outputs(output, 0); for (o = SDVO_OUTPUT_FIRST; o <= SDVO_OUTPUT_LAST; o++) { - CARD16 this_output = (1 << o); + uint16_t this_output = (1 << o); if (dev_priv->caps.output_flags & this_output) { i830_sdvo_set_target_output(output, this_output); @@ -911,7 +913,7 @@ i830_sdvo_mode_valid(xf86OutputPtr output, DisplayModePtr pMode) static Bool i830_sdvo_get_capabilities(xf86OutputPtr output, struct i830_sdvo_caps *caps) { - CARD8 status; + uint8_t status; i830_sdvo_write_cmd(output, SDVO_CMD_GET_DEVICE_CAPS, NULL, 0); status = i830_sdvo_read_response(output, caps, sizeof(*caps)); @@ -1016,7 +1018,7 @@ i830_sdvo_ddc_i2c_address(I2CDevPtr d, I2CSlaveAddr addr) static void i830_sdvo_dump_cmd(xf86OutputPtr output, int opcode) { - CARD8 response[8]; + uint8_t response[8]; i830_sdvo_write_cmd(output, opcode, NULL, 0); i830_sdvo_read_response(output, response, 8); @@ -1080,8 +1082,8 @@ i830_sdvo_dump(ScrnInfoPtr pScrn) static xf86OutputStatus i830_sdvo_detect(xf86OutputPtr output) { - CARD8 response[2]; - CARD8 status; + uint8_t response[2]; + uint8_t status; i830_sdvo_write_cmd(output, SDVO_CMD_GET_ATTACHED_DISPLAYS, NULL, 0); status = i830_sdvo_read_response(output, &response, 2); diff --git a/src/i830_sdvo_regs.h b/src/i830_sdvo_regs.h index 72e58a00..725460f2 100644 --- a/src/i830_sdvo_regs.h +++ b/src/i830_sdvo_regs.h @@ -47,11 +47,11 @@ #define SDVO_OUTPUT_LAST (14) struct i830_sdvo_caps { - CARD8 vendor_id; - CARD8 device_id; - CARD8 device_rev_id; - CARD8 sdvo_version_major; - CARD8 sdvo_version_minor; + uint8_t vendor_id; + uint8_t device_id; + uint8_t device_rev_id; + uint8_t sdvo_version_major; + uint8_t sdvo_version_minor; unsigned int sdvo_inputs_mask:2; unsigned int smooth_scaling:1; unsigned int sharp_scaling:1; @@ -59,48 +59,48 @@ struct i830_sdvo_caps { unsigned int down_scaling:1; unsigned int stall_support:1; unsigned int pad:1; - CARD16 output_flags; + uint16_t output_flags; } __attribute__((packed)); /** This matches the EDID DTD structure, more or less */ struct i830_sdvo_dtd { struct { - CARD16 clock; /**< pixel clock, in 10kHz units */ - CARD8 h_active; /**< lower 8 bits (pixels) */ - CARD8 h_blank; /**< lower 8 bits (pixels) */ - CARD8 h_high; /**< upper 4 bits each h_active, h_blank */ - CARD8 v_active; /**< lower 8 bits (lines) */ - CARD8 v_blank; /**< lower 8 bits (lines) */ - CARD8 v_high; /**< upper 4 bits each v_active, v_blank */ + uint16_t clock; /**< pixel clock, in 10kHz units */ + uint8_t h_active; /**< lower 8 bits (pixels) */ + uint8_t h_blank; /**< lower 8 bits (pixels) */ + uint8_t h_high; /**< upper 4 bits each h_active, h_blank */ + uint8_t v_active; /**< lower 8 bits (lines) */ + uint8_t v_blank; /**< lower 8 bits (lines) */ + uint8_t v_high; /**< upper 4 bits each v_active, v_blank */ } part1; struct { - CARD8 h_sync_off; /**< lower 8 bits, from hblank start */ - CARD8 h_sync_width; /**< lower 8 bits (pixels) */ + uint8_t h_sync_off; /**< lower 8 bits, from hblank start */ + uint8_t h_sync_width; /**< lower 8 bits (pixels) */ /** lower 4 bits each vsync offset, vsync width */ - CARD8 v_sync_off_width; + uint8_t v_sync_off_width; /** * 2 high bits of hsync offset, 2 high bits of hsync width, * bits 4-5 of vsync offset, and 2 high bits of vsync width. */ - CARD8 sync_off_width_high; - CARD8 dtd_flags; - CARD8 sdvo_flags; + uint8_t sync_off_width_high; + uint8_t dtd_flags; + uint8_t sdvo_flags; /** bits 6-7 of vsync offset at bits 6-7 */ - CARD8 v_sync_off_high; - CARD8 reserved; + uint8_t v_sync_off_high; + uint8_t reserved; } part2; } __attribute__((packed)); struct i830_sdvo_pixel_clock_range { - CARD16 min; /**< pixel clock, in 10kHz units */ - CARD16 max; /**< pixel clock, in 10kHz units */ + uint16_t min; /**< pixel clock, in 10kHz units */ + uint16_t max; /**< pixel clock, in 10kHz units */ } __attribute__((packed)); struct i830_sdvo_preferred_input_timing_args { - CARD16 clock; - CARD16 width; - CARD16 height; + uint16_t clock; + uint16_t width; + uint16_t height; } __attribute__((packed)); /* I2C registers for SDVO */ @@ -205,7 +205,7 @@ struct i830_sdvo_get_trained_inputs_response { #define SDVO_CMD_GET_INTERRUPT_EVENT_SOURCE 0x0f struct i830_sdvo_get_interrupt_event_source_response { - CARD16 interrupt_status; + uint16_t interrupt_status; unsigned int ambient_light_interrupt:1; unsigned int pad:7; } __attribute__((packed)); diff --git a/src/i830_tv.c b/src/i830_tv.c index 9add367a..095f59bd 100644 --- a/src/i830_tv.c +++ b/src/i830_tv.c @@ -57,39 +57,39 @@ struct i830_tv_priv { int type; char *tv_format; int margin[4]; - CARD32 save_TV_H_CTL_1; - CARD32 save_TV_H_CTL_2; - CARD32 save_TV_H_CTL_3; - CARD32 save_TV_V_CTL_1; - CARD32 save_TV_V_CTL_2; - CARD32 save_TV_V_CTL_3; - CARD32 save_TV_V_CTL_4; - CARD32 save_TV_V_CTL_5; - CARD32 save_TV_V_CTL_6; - CARD32 save_TV_V_CTL_7; - CARD32 save_TV_SC_CTL_1, save_TV_SC_CTL_2, save_TV_SC_CTL_3; - - CARD32 save_TV_CSC_Y; - CARD32 save_TV_CSC_Y2; - CARD32 save_TV_CSC_U; - CARD32 save_TV_CSC_U2; - CARD32 save_TV_CSC_V; - CARD32 save_TV_CSC_V2; - CARD32 save_TV_CLR_KNOBS; - CARD32 save_TV_CLR_LEVEL; - CARD32 save_TV_WIN_POS; - CARD32 save_TV_WIN_SIZE; - CARD32 save_TV_FILTER_CTL_1; - CARD32 save_TV_FILTER_CTL_2; - CARD32 save_TV_FILTER_CTL_3; - - CARD32 save_TV_H_LUMA[60]; - CARD32 save_TV_H_CHROMA[60]; - CARD32 save_TV_V_LUMA[43]; - CARD32 save_TV_V_CHROMA[43]; - - CARD32 save_TV_DAC; - CARD32 save_TV_CTL; + uint32_t save_TV_H_CTL_1; + uint32_t save_TV_H_CTL_2; + uint32_t save_TV_H_CTL_3; + uint32_t save_TV_V_CTL_1; + uint32_t save_TV_V_CTL_2; + uint32_t save_TV_V_CTL_3; + uint32_t save_TV_V_CTL_4; + uint32_t save_TV_V_CTL_5; + uint32_t save_TV_V_CTL_6; + uint32_t save_TV_V_CTL_7; + uint32_t save_TV_SC_CTL_1, save_TV_SC_CTL_2, save_TV_SC_CTL_3; + + uint32_t save_TV_CSC_Y; + uint32_t save_TV_CSC_Y2; + uint32_t save_TV_CSC_U; + uint32_t save_TV_CSC_U2; + uint32_t save_TV_CSC_V; + uint32_t save_TV_CSC_V2; + uint32_t save_TV_CLR_KNOBS; + uint32_t save_TV_CLR_LEVEL; + uint32_t save_TV_WIN_POS; + uint32_t save_TV_WIN_SIZE; + uint32_t save_TV_FILTER_CTL_1; + uint32_t save_TV_FILTER_CTL_2; + uint32_t save_TV_FILTER_CTL_3; + + uint32_t save_TV_H_LUMA[60]; + uint32_t save_TV_H_CHROMA[60]; + uint32_t save_TV_V_LUMA[43]; + uint32_t save_TV_V_CHROMA[43]; + + uint32_t save_TV_DAC; + uint32_t save_TV_CTL; }; typedef struct { @@ -102,7 +102,7 @@ typedef struct { float rv, gv, bv, av; } color_conversion_t; -static const CARD32 filter_table[] = { +static const uint32_t filter_table[] = { 0xB1403000, 0x2E203500, 0x35002E20, 0x3000B140, 0x35A0B160, 0x2DC02E80, 0xB1403480, 0xB1603000, 0x2EA03640, 0x34002D80, 0x3000B120, 0x36E0B160, @@ -161,7 +161,7 @@ typedef struct { char *name; int clock; double refresh; - CARD32 oversample; + uint32_t oversample; int hsync_end, hblank_start, hblank_end, htotal; Bool progressive, trilevel_sync, component_only; int vsync_start_f1, vsync_start_f2, vsync_len; @@ -178,14 +178,14 @@ typedef struct { * subcarrier programming */ int dda2_size, dda3_size, dda1_inc, dda2_inc, dda3_inc; - CARD32 sc_reset; + uint32_t sc_reset; Bool pal_burst; /* * blank/black levels */ video_levels_t composite_levels, svideo_levels; color_conversion_t composite_color, svideo_color; - const CARD32 *filter_table; + const uint32_t *filter_table; int max_srcw; } tv_mode_t; @@ -981,13 +981,13 @@ i830_tv_mode_fixup(xf86OutputPtr output, DisplayModePtr mode, return TRUE; } -static CARD32 +static uint32_t i830_float_to_csc (float fin) { - CARD32 exp; - CARD32 mant; - CARD32 ret; - float f = fin; + uint32_t exp; + uint32_t mant; + uint32_t ret; + float f = fin; /* somehow the color conversion knows the signs of all the values */ if (f < 0) f = -f; @@ -1009,10 +1009,10 @@ i830_float_to_csc (float fin) return ret; } -static CARD16 +static uint16_t i830_float_to_luma (float f) { - CARD16 ret; + uint16_t ret; ret = (f * (1 << 9)); return ret; @@ -1029,10 +1029,10 @@ i830_tv_mode_set(xf86OutputPtr output, DisplayModePtr mode, I830CrtcPrivatePtr intel_crtc = crtc->driver_private; struct i830_tv_priv *dev_priv = intel_output->dev_priv; const tv_mode_t *tv_mode = i830_tv_mode_find (output); - CARD32 tv_ctl; - CARD32 hctl1, hctl2, hctl3; - CARD32 vctl1, vctl2, vctl3, vctl4, vctl5, vctl6, vctl7; - CARD32 scctl1, scctl2, scctl3; + uint32_t tv_ctl; + uint32_t hctl1, hctl2, hctl3; + uint32_t vctl1, vctl2, vctl3, vctl4, vctl5, vctl6, vctl7; + uint32_t scctl1, scctl2, scctl3; int i, j; const video_levels_t *video_levels; const color_conversion_t *color_conversion; @@ -1271,8 +1271,8 @@ i830_tv_detect_type (xf86CrtcPtr crtc, ScrnInfoPtr pScrn = output->scrn; I830Ptr pI830 = I830PTR(pScrn); I830OutputPrivatePtr intel_output = output->driver_private; - CARD32 tv_ctl, save_tv_ctl; - CARD32 tv_dac, save_tv_dac; + uint32_t tv_ctl, save_tv_ctl; + uint32_t tv_dac, save_tv_dac; int type = TV_TYPE_UNKNOWN; tv_dac = INREG(TV_DAC); @@ -1665,7 +1665,7 @@ i830_tv_init(ScrnInfoPtr pScrn) xf86OutputPtr output; I830OutputPrivatePtr intel_output; struct i830_tv_priv *dev_priv; - CARD32 tv_dac_on, tv_dac_off, save_tv_dac; + uint32_t tv_dac_on, tv_dac_off, save_tv_dac; if (pI830->quirk_flag & QUIRK_IGNORE_TV) return; diff --git a/src/i830_video.c b/src/i830_video.c index 2c8f2a97..cc351f1c 100644 --- a/src/i830_video.c +++ b/src/i830_video.c @@ -264,58 +264,58 @@ static XF86ImageRec Images[NUM_IMAGES] = { }; typedef struct { - CARD32 OBUF_0Y; - CARD32 OBUF_1Y; - CARD32 OBUF_0U; - CARD32 OBUF_0V; - CARD32 OBUF_1U; - CARD32 OBUF_1V; - CARD32 OSTRIDE; - CARD32 YRGB_VPH; - CARD32 UV_VPH; - CARD32 HORZ_PH; - CARD32 INIT_PHS; - CARD32 DWINPOS; - CARD32 DWINSZ; - CARD32 SWIDTH; - CARD32 SWIDTHSW; - CARD32 SHEIGHT; - CARD32 YRGBSCALE; - CARD32 UVSCALE; - CARD32 OCLRC0; - CARD32 OCLRC1; - CARD32 DCLRKV; - CARD32 DCLRKM; - CARD32 SCLRKVH; - CARD32 SCLRKVL; - CARD32 SCLRKEN; - CARD32 OCONFIG; - CARD32 OCMD; - CARD32 RESERVED1; /* 0x6C */ - CARD32 OSTART_0Y; /* for i965 */ - CARD32 OSTART_1Y; /* for i965 */ - CARD32 OSTART_0U; - CARD32 OSTART_0V; - CARD32 OSTART_1U; - CARD32 OSTART_1V; - CARD32 OTILEOFF_0Y; - CARD32 OTILEOFF_1Y; - CARD32 OTILEOFF_0U; - CARD32 OTILEOFF_0V; - CARD32 OTILEOFF_1U; - CARD32 OTILEOFF_1V; - CARD32 FASTHSCALE; /* 0xA0 */ - CARD32 UVSCALEV; /* 0xA4 */ - - CARD32 RESERVEDC[(0x200 - 0xA8) / 4]; /* 0xA8 - 0x1FC */ - CARD16 Y_VCOEFS[N_VERT_Y_TAPS * N_PHASES]; /* 0x200 */ - CARD16 RESERVEDD[0x100 / 2 - N_VERT_Y_TAPS * N_PHASES]; - CARD16 Y_HCOEFS[N_HORIZ_Y_TAPS * N_PHASES]; /* 0x300 */ - CARD16 RESERVEDE[0x200 / 2 - N_HORIZ_Y_TAPS * N_PHASES]; - CARD16 UV_VCOEFS[N_VERT_UV_TAPS * N_PHASES]; /* 0x500 */ - CARD16 RESERVEDF[0x100 / 2 - N_VERT_UV_TAPS * N_PHASES]; - CARD16 UV_HCOEFS[N_HORIZ_UV_TAPS * N_PHASES]; /* 0x600 */ - CARD16 RESERVEDG[0x100 / 2 - N_HORIZ_UV_TAPS * N_PHASES]; + uint32_t OBUF_0Y; + uint32_t OBUF_1Y; + uint32_t OBUF_0U; + uint32_t OBUF_0V; + uint32_t OBUF_1U; + uint32_t OBUF_1V; + uint32_t OSTRIDE; + uint32_t YRGB_VPH; + uint32_t UV_VPH; + uint32_t HORZ_PH; + uint32_t INIT_PHS; + uint32_t DWINPOS; + uint32_t DWINSZ; + uint32_t SWIDTH; + uint32_t SWIDTHSW; + uint32_t SHEIGHT; + uint32_t YRGBSCALE; + uint32_t UVSCALE; + uint32_t OCLRC0; + uint32_t OCLRC1; + uint32_t DCLRKV; + uint32_t DCLRKM; + uint32_t SCLRKVH; + uint32_t SCLRKVL; + uint32_t SCLRKEN; + uint32_t OCONFIG; + uint32_t OCMD; + uint32_t RESERVED1; /* 0x6C */ + uint32_t OSTART_0Y; /* for i965 */ + uint32_t OSTART_1Y; /* for i965 */ + uint32_t OSTART_0U; + uint32_t OSTART_0V; + uint32_t OSTART_1U; + uint32_t OSTART_1V; + uint32_t OTILEOFF_0Y; + uint32_t OTILEOFF_1Y; + uint32_t OTILEOFF_0U; + uint32_t OTILEOFF_0V; + uint32_t OTILEOFF_1U; + uint32_t OTILEOFF_1V; + uint32_t FASTHSCALE; /* 0xA0 */ + uint32_t UVSCALEV; /* 0xA4 */ + + uint32_t RESERVEDC[(0x200 - 0xA8) / 4]; /* 0xA8 - 0x1FC */ + uint16_t Y_VCOEFS[N_VERT_Y_TAPS * N_PHASES]; /* 0x200 */ + uint16_t RESERVEDD[0x100 / 2 - N_VERT_Y_TAPS * N_PHASES]; + uint16_t Y_HCOEFS[N_HORIZ_Y_TAPS * N_PHASES]; /* 0x300 */ + uint16_t RESERVEDE[0x200 / 2 - N_HORIZ_Y_TAPS * N_PHASES]; + uint16_t UV_VCOEFS[N_VERT_UV_TAPS * N_PHASES]; /* 0x500 */ + uint16_t RESERVEDF[0x100 / 2 - N_VERT_UV_TAPS * N_PHASES]; + uint16_t UV_HCOEFS[N_HORIZ_UV_TAPS * N_PHASES]; /* 0x600 */ + uint16_t RESERVEDG[0x100 / 2 - N_HORIZ_UV_TAPS * N_PHASES]; } I830OverlayRegRec, *I830OverlayRegPtr; #define I830OVERLAYREG(pI830) ((I830OverlayRegPtr)\ @@ -323,10 +323,10 @@ typedef struct { (pI830)->overlay_regs->offset)) #if VIDEO_DEBUG static void -CompareOverlay(I830Ptr pI830, CARD32 * overlay, int size) +CompareOverlay(I830Ptr pI830, uint32_t * overlay, int size) { int i; - CARD32 val; + uint32_t val; int bad = 0; for (i = 0; i < size; i += 4) { @@ -366,9 +366,9 @@ i830_overlay_switch_to_crtc (ScrnInfoPtr pScrn, xf86CrtcPtr crtc) { int vtotal_reg = intel_crtc->pipe == 0 ? VTOTAL_A : VTOTAL_B; - CARD32 size = intel_crtc->pipe ? INREG(PIPEBSRC) : INREG(PIPEASRC); - CARD32 active; - CARD32 hsize, vsize; + uint32_t size = intel_crtc->pipe ? INREG(PIPEBSRC) : INREG(PIPEASRC); + uint32_t active; + uint32_t hsize, vsize; hsize = (size >> 16) & 0x7FF; vsize = size & 0x7FF; @@ -452,7 +452,7 @@ static void i830_overlay_continue(ScrnInfoPtr pScrn, Bool update_filter) { I830Ptr pI830 = I830PTR(pScrn); - CARD32 flip_addr; + uint32_t flip_addr; I830OverlayRegPtr overlay = I830OVERLAYREG(pI830); if (!*pI830->overlayOn) @@ -464,8 +464,7 @@ i830_overlay_continue(ScrnInfoPtr pScrn, Bool update_filter) flip_addr = pI830->overlay_regs->bus_addr; if (update_filter) flip_addr |= OFC_UPDATE; - OVERLAY_DEBUG ("overlay_continue cmd 0x%08" CARD32_HEX - " -> 0x%08" CARD32_HEX " sta 0x%08" CARD32_HEX "\n", + OVERLAY_DEBUG ("overlay_continue cmd 0x%08x -> 0x%08x sta 0x%08x\n", overlay->OCMD, INREG(OCMD_REGISTER), INREG(DOVSTA)); BEGIN_LP_RING(4); OUT_RING(MI_FLUSH | MI_WRITE_DIRTY_STATE); @@ -505,8 +504,7 @@ i830_overlay_off(ScrnInfoPtr pScrn) */ { overlay->OCMD &= ~OVERLAY_ENABLE; - OVERLAY_DEBUG ("overlay_off cmd 0x%08" CARD32_HEX - " -> 0x%08" CARD32_HEX " sta 0x%08" CARD32_HEX "\n", + OVERLAY_DEBUG ("overlay_off cmd 0x%08x -> 0x%08x sta 0x%08x\n", overlay->OCMD, INREG(OCMD_REGISTER), INREG(DOVSTA)); BEGIN_LP_RING(6); OUT_RING(MI_FLUSH | MI_WRITE_DIRTY_STATE); @@ -693,7 +691,7 @@ I830SetOneLineModeRatio(ScrnInfoPtr pScrn) { I830Ptr pI830 = I830PTR(pScrn); I830PortPrivPtr pPriv = pI830->adaptor->pPortPrivates[0].ptr; - CARD32 panelFitControl = INREG(PFIT_CONTROLS); + uint32_t panelFitControl = INREG(PFIT_CONTROLS); int vertScale; pPriv->scaleRatio = 0x10000; @@ -717,7 +715,7 @@ I830SetOneLineModeRatio(ScrnInfoPtr pScrn) pPriv->oneLineMode = FALSE; } -static CARD32 I830BoundGammaElt (CARD32 elt, CARD32 eltPrev) +static uint32_t I830BoundGammaElt (uint32_t elt, uint32_t eltPrev) { elt &= 0xff; eltPrev &= 0xff; @@ -728,7 +726,7 @@ static CARD32 I830BoundGammaElt (CARD32 elt, CARD32 eltPrev) return elt; } -static CARD32 I830BoundGamma (CARD32 gamma, CARD32 gammaPrev) +static uint32_t I830BoundGamma (uint32_t gamma, uint32_t gammaPrev) { return (I830BoundGammaElt (gamma >> 24, gammaPrev >> 24) << 24 | I830BoundGammaElt (gamma >> 16, gammaPrev >> 16) << 16 | @@ -741,12 +739,12 @@ I830UpdateGamma(ScrnInfoPtr pScrn) { I830Ptr pI830 = I830PTR(pScrn); I830PortPrivPtr pPriv = pI830->adaptor->pPortPrivates[0].ptr; - CARD32 gamma0 = pPriv->gamma0; - CARD32 gamma1 = pPriv->gamma1; - CARD32 gamma2 = pPriv->gamma2; - CARD32 gamma3 = pPriv->gamma3; - CARD32 gamma4 = pPriv->gamma4; - CARD32 gamma5 = pPriv->gamma5; + uint32_t gamma0 = pPriv->gamma0; + uint32_t gamma1 = pPriv->gamma1; + uint32_t gamma2 = pPriv->gamma2; + uint32_t gamma3 = pPriv->gamma3; + uint32_t gamma4 = pPriv->gamma4; + uint32_t gamma5 = pPriv->gamma5; #if 0 ErrorF ("Original gamma: 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx\n", @@ -1308,7 +1306,7 @@ I830CopyPlanarToPackedData(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, int top, int left, int h, int w, int id) { I830Ptr pI830 = I830PTR(pScrn); - CARD8 *dst1, *srcy, *srcu, *srcv; + uint8_t *dst1, *srcy, *srcu, *srcv; int y; if (pPriv->currentBuf == 0) @@ -1328,10 +1326,10 @@ I830CopyPlanarToPackedData(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, } for (y = 0; y < h; y++) { - CARD32 *dst = (CARD32 *)dst1; - CARD8 *sy = srcy; - CARD8 *su = srcu; - CARD8 *sv = srcv; + uint32_t *dst = (uint32_t *)dst1; + uint8_t *sy = srcy; + uint8_t *su = srcu; + uint8_t *sv = srcv; int i; i = w / 2; @@ -1538,9 +1536,9 @@ I830CopyPlanarData(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, } typedef struct { - CARD8 sign; - CARD16 mantissa; - CARD8 exponent; + uint8_t sign; + uint16_t mantissa; + uint8_t exponent; } coeffRec, *coeffPtr; static Bool @@ -1766,14 +1764,14 @@ i830_display_video(ScrnInfoPtr pScrn, xf86CrtcPtr crtc, unsigned int swidth, swidthy, swidthuv; unsigned int mask, shift, offsety, offsetu; int tmp; - CARD32 OCMD; + uint32_t OCMD; Bool scaleChanged = FALSE; OVERLAY_DEBUG("I830DisplayVideo: %dx%d (pitch %d)\n", width, height, dstPitch); #if VIDEO_DEBUG - CompareOverlay(pI830, (CARD32 *) overlay, 0x100); + CompareOverlay(pI830, (uint32_t *) overlay, 0x100); #endif /* @@ -1928,7 +1926,7 @@ i830_display_video(ScrnInfoPtr pScrn, xf86CrtcPtr crtc, overlay->OBUF_1V = pPriv->VBuf1offset; } - OVERLAY_DEBUG("pos: 0x%" CARD32_HEX ", size: 0x%" CARD32_HEX "\n", + OVERLAY_DEBUG("pos: 0x%x, size: 0x%x\n", overlay->DWINPOS, overlay->DWINSZ); OVERLAY_DEBUG("dst: %d x %d, src: %d x %d\n", drw_w, drw_h, src_w, src_h); @@ -1943,7 +1941,7 @@ i830_display_video(ScrnInfoPtr pScrn, xf86CrtcPtr crtc, int yscaleIntUV, yscaleFractUV; /* UV is half the size of Y -- YUV420 */ int uvratio = 2; - CARD32 newval; + uint32_t newval; coeffRec xcoeffY[N_HORIZ_Y_TAPS * N_PHASES]; coeffRec xcoeffUV[N_HORIZ_UV_TAPS * N_PHASES]; int i, j, pos; @@ -2090,7 +2088,7 @@ i830_display_video(ScrnInfoPtr pScrn, xf86CrtcPtr crtc, OCMD |= BUFFER1; overlay->OCMD = OCMD; - OVERLAY_DEBUG("OCMD is 0x%" CARD32_HEX "\n", OCMD); + OVERLAY_DEBUG("OCMD is 0x%x\n", OCMD); /* make sure the overlay is on */ i830_overlay_on (pScrn); @@ -2143,7 +2141,7 @@ i830_clip_video_helper (ScrnInfoPtr pScrn, } static void -i830_fill_colorkey (ScreenPtr pScreen, CARD32 key, RegionPtr clipboxes) +i830_fill_colorkey (ScreenPtr pScreen, uint32_t key, RegionPtr clipboxes) { DrawablePtr root = &WindowTable[pScreen->myNum]->drawable; XID pval[2]; diff --git a/src/i830_video.h b/src/i830_video.h index 17689138..52e6b4f8 100644 --- a/src/i830_video.h +++ b/src/i830_video.h @@ -28,13 +28,13 @@ THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "xf86_OSproc.h" typedef struct { - CARD32 YBuf0offset; - CARD32 UBuf0offset; - CARD32 VBuf0offset; + uint32_t YBuf0offset; + uint32_t UBuf0offset; + uint32_t VBuf0offset; - CARD32 YBuf1offset; - CARD32 UBuf1offset; - CARD32 VBuf1offset; + uint32_t YBuf1offset; + uint32_t UBuf1offset; + uint32_t VBuf1offset; unsigned char currentBuf; @@ -46,16 +46,16 @@ typedef struct { int doubleBuffer; RegionRec clip; - CARD32 colorKey; + uint32_t colorKey; - CARD32 gamma0; - CARD32 gamma1; - CARD32 gamma2; - CARD32 gamma3; - CARD32 gamma4; - CARD32 gamma5; + uint32_t gamma0; + uint32_t gamma1; + uint32_t gamma2; + uint32_t gamma3; + uint32_t gamma4; + uint32_t gamma5; - CARD32 videoStatus; + uint32_t videoStatus; Time offTime; Time freeTime; i830_memory *buf; /** YUV data buffer */ diff --git a/src/i915_3d.h b/src/i915_3d.h index 83a14c1f..c2efe9ae 100644 --- a/src/i915_3d.h +++ b/src/i915_3d.h @@ -88,7 +88,7 @@ #define REG_NR(reg) ((reg) & 0xff) struct i915_fs_op { - CARD32 ui[3]; + uint32_t ui[3]; }; #define X_CHANNEL_VAL 1 @@ -419,7 +419,7 @@ do { \ * a FS_START and FS_END */ #define FS_LOCALS(x) \ - CARD32 _shader_buf[(x) * 3]; \ + uint32_t _shader_buf[(x) * 3]; \ int _max_shader_commands = x; \ int _cur_shader_commands diff --git a/src/i915_render.c b/src/i915_render.c index 0142f5e5..7c45c807 100644 --- a/src/i915_render.c +++ b/src/i915_render.c @@ -54,14 +54,14 @@ do { \ struct formatinfo { int fmt; - CARD32 card_fmt; + uint32_t card_fmt; }; struct blendinfo { Bool dst_alpha; Bool src_alpha; - CARD32 src_blend; - CARD32 dst_blend; + uint32_t src_blend; + uint32_t dst_blend; }; static struct blendinfo i915_blend_op[] = { @@ -106,9 +106,10 @@ static struct formatinfo i915_tex_formats[] = { {PICT_a8, MAPSURF_8BIT | MT_8BIT_A8 }, }; -static CARD32 i915_get_blend_cntl(int op, PicturePtr pMask, CARD32 dst_format) +static uint32_t i915_get_blend_cntl(int op, PicturePtr pMask, + uint32_t dst_format) { - CARD32 sblend, dblend; + uint32_t sblend, dblend; sblend = i915_blend_op[op].src_blend; dblend = i915_blend_op[op].dst_blend; @@ -152,7 +153,7 @@ static CARD32 i915_get_blend_cntl(int op, PicturePtr pMask, CARD32 dst_format) (dblend << S6_CBUF_DST_BLEND_FACT_SHIFT); } -static Bool i915_get_dest_format(PicturePtr pDstPicture, CARD32 *dst_format) +static Bool i915_get_dest_format(PicturePtr pDstPicture, uint32_t *dst_format) { switch (pDstPicture->format) { case PICT_a8r8g8b8: @@ -215,7 +216,7 @@ Bool i915_check_composite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, PicturePtr pDstPicture) { - CARD32 tmp1; + uint32_t tmp1; /* Check for unsupported compositing operations. */ if (op >= sizeof(i915_blend_op) / sizeof(i915_blend_op[0])) @@ -249,9 +250,9 @@ i915_texture_setup(PicturePtr pPict, PixmapPtr pPix, int unit) { ScrnInfoPtr pScrn = xf86Screens[pPict->pDrawable->pScreen->myNum]; I830Ptr pI830 = I830PTR(pScrn); - CARD32 format, offset, pitch, filter; + uint32_t format, offset, pitch, filter; int w, h, i; - CARD32 wrap_mode = TEXCOORDMODE_CLAMP_BORDER; + uint32_t wrap_mode = TEXCOORDMODE_CLAMP_BORDER; offset = intel_get_pixmap_offset(pPix); pitch = intel_get_pixmap_pitch(pPix); @@ -315,8 +316,8 @@ i915_prepare_composite(int op, PicturePtr pSrcPicture, { ScrnInfoPtr pScrn = xf86Screens[pSrcPicture->pDrawable->pScreen->myNum]; I830Ptr pI830 = I830PTR(pScrn); - CARD32 dst_format, dst_offset, dst_pitch; - CARD32 blendctl; + uint32_t dst_format, dst_offset, dst_pitch; + uint32_t blendctl; int out_reg = FS_OC; IntelEmitInvarientState(pScrn); @@ -375,7 +376,7 @@ i915_prepare_composite(int op, PicturePtr pSrcPicture, ADVANCE_LP_RING(); } { - CARD32 ss2; + uint32_t ss2; BEGIN_LP_RING(16); OUT_RING(_3DSTATE_BUF_INFO_CMD); diff --git a/src/i915_video.c b/src/i915_video.c index dd0e596a..7416efcd 100644 --- a/src/i915_video.c +++ b/src/i915_video.c @@ -48,7 +48,7 @@ I915DisplayVideoTextured(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, int id, PixmapPtr pPixmap) { I830Ptr pI830 = I830PTR(pScrn); - CARD32 format, ms3, s5; + uint32_t format, ms3, s5; BoxPtr pbox; int nbox, dxo, dyo, pix_xoff, pix_yoff; Bool planar; diff --git a/src/i965_render.c b/src/i965_render.c index a749301c..172a1dc1 100644 --- a/src/i965_render.c +++ b/src/i965_render.c @@ -59,13 +59,13 @@ do { \ struct blendinfo { Bool dst_alpha; Bool src_alpha; - CARD32 src_blend; - CARD32 dst_blend; + uint32_t src_blend; + uint32_t dst_blend; }; struct formatinfo { int fmt; - CARD32 card_fmt; + uint32_t card_fmt; }; // refer vol2, 3d rasterization 3.8.1 @@ -113,8 +113,8 @@ static struct formatinfo i965_tex_formats[] = { {PICT_a8, BRW_SURFACEFORMAT_A8_UNORM }, }; -static void i965_get_blend_cntl(int op, PicturePtr pMask, CARD32 dst_format, - CARD32 *sblend, CARD32 *dblend) +static void i965_get_blend_cntl(int op, PicturePtr pMask, uint32_t dst_format, + uint32_t *sblend, uint32_t *dblend) { *sblend = i965_blend_op[op].src_blend; @@ -145,7 +145,7 @@ static void i965_get_blend_cntl(int op, PicturePtr pMask, CARD32 dst_format, } -static Bool i965_get_dest_format(PicturePtr pDstPicture, CARD32 *dst_format) +static Bool i965_get_dest_format(PicturePtr pDstPicture, uint32_t *dst_format) { switch (pDstPicture->format) { case PICT_a8r8g8b8: @@ -212,7 +212,7 @@ Bool i965_check_composite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, PicturePtr pDstPicture) { - CARD32 tmp1; + uint32_t tmp1; /* Check for unsupported compositing operations. */ if (op >= sizeof(i965_blend_op) / sizeof(i965_blend_op[0])) @@ -271,7 +271,7 @@ static struct brw_instruction *sf_kernel; static struct brw_instruction *ps_kernel; static struct brw_instruction *sip_kernel; -static CARD32 *binding_table; +static uint32_t *binding_table; static int binding_table_entries; static int dest_surf_offset, src_surf_offset, mask_surf_offset; @@ -287,9 +287,9 @@ static int state_base_offset; static float *vb; static int vb_size = (6 * 4) * 4 ; /* 6 DWORDS per vertex - and mask*/ -static CARD32 src_blend, dst_blend; +static uint32_t src_blend, dst_blend; -static const CARD32 sip_kernel_static[][4] = { +static const uint32_t sip_kernel_static[][4] = { /* wait (1) a0<1>UW a145<0,1,0>UW { align1 + } */ { 0x00000030, 0x20000108, 0x00001220, 0x00000000 }, /* nop (4) g0<1>UD { align1 + } */ @@ -320,15 +320,15 @@ static const CARD32 sip_kernel_static[][4] = { #define SF_KERNEL_NUM_GRF 16 #define SF_MAX_THREADS 1 -static const CARD32 sf_kernel_static[][4] = { +static const uint32_t sf_kernel_static[][4] = { #include "exa_sf_prog.h" }; -static const CARD32 sf_kernel_static_mask[][4] = { +static const uint32_t sf_kernel_static_mask[][4] = { #include "exa_sf_mask_prog.h" }; -static const CARD32 sf_kernel_static_rotation[][4] = { +static const uint32_t sf_kernel_static_rotation[][4] = { #include "exa_sf_rotation_prog.h" }; @@ -336,27 +336,27 @@ static const CARD32 sf_kernel_static_rotation[][4] = { #define PS_KERNEL_NUM_GRF 32 #define PS_MAX_THREADS 32 -static const CARD32 ps_kernel_static_nomask [][4] = { +static const uint32_t ps_kernel_static_nomask [][4] = { #include "exa_wm_nomask_prog.h" }; -static const CARD32 ps_kernel_static_maskca [][4] = { +static const uint32_t ps_kernel_static_maskca [][4] = { #include "exa_wm_maskca_prog.h" }; -static const CARD32 ps_kernel_static_maskca_srcalpha [][4] = { +static const uint32_t ps_kernel_static_maskca_srcalpha [][4] = { #include "exa_wm_maskca_srcalpha_prog.h" }; -static const CARD32 ps_kernel_static_masknoca [][4] = { +static const uint32_t ps_kernel_static_masknoca [][4] = { #include "exa_wm_masknoca_prog.h" }; -static const CARD32 ps_kernel_static_rotation [][4] = { +static const uint32_t ps_kernel_static_rotation [][4] = { #include "exa_wm_rotation_prog.h" }; -static CARD32 +static uint32_t i965_get_card_format(PicturePtr pPict) { int i; @@ -392,10 +392,10 @@ i965_prepare_composite(int op, PicturePtr pSrcPicture, { ScrnInfoPtr pScrn = xf86Screens[pSrcPicture->pDrawable->pScreen->myNum]; I830Ptr pI830 = I830PTR(pScrn); - CARD32 src_offset, src_pitch, src_tile_format = 0, src_tiled = 0; - CARD32 mask_offset = 0, mask_pitch = 0, mask_tile_format = 0, + uint32_t src_offset, src_pitch, src_tile_format = 0, src_tiled = 0; + uint32_t mask_offset = 0, mask_pitch = 0, mask_tile_format = 0, mask_tiled = 0; - CARD32 dst_format, dst_offset, dst_pitch, dst_tile_format = 0, + uint32_t dst_format, dst_offset, dst_pitch, dst_tile_format = 0, dst_tiled = 0; Bool rotation_program = FALSE; diff --git a/src/i965_video.c b/src/i965_video.c index 928b52b7..f84c6647 100644 --- a/src/i965_video.c +++ b/src/i965_video.c @@ -45,7 +45,7 @@ #undef NDEBUG #include -static const CARD32 sip_kernel_static[][4] = { +static const uint32_t sip_kernel_static[][4] = { /* wait (1) a0<1>UW a145<0,1,0>UW { align1 + } */ { 0x00000030, 0x20000108, 0x00001220, 0x00000000 }, /* nop (4) g0<1>UD { align1 + } */ @@ -77,7 +77,7 @@ static const CARD32 sip_kernel_static[][4] = { #define SF_KERNEL_NUM_GRF 16 #define SF_MAX_THREADS 1 -static const CARD32 sf_kernel_static[][4] = { +static const uint32_t sf_kernel_static[][4] = { #include "sf_prog.h" }; @@ -93,7 +93,7 @@ static const CARD32 sf_kernel_static[][4] = { #define BRW_GRF_BLOCKS(nreg) ((nreg + 15) / 16 - 1) -static const CARD32 ps_kernel_static[][4] = { +static const uint32_t ps_kernel_static[][4] = { #include "wm_prog.h" }; @@ -102,15 +102,15 @@ static const CARD32 ps_kernel_static[][4] = { #define WM_BINDING_TABLE_ENTRIES 2 -static CARD32 float_to_uint (float f) { - union {CARD32 i; float f;} x; +static uint32_t float_to_uint (float f) { + union {uint32_t i; float f;} x; x.f = f; return x.i; } #if 0 static struct { - CARD32 svg_ctl; + uint32_t svg_ctl; char *name; } svg_ctl_bits[] = { { BRW_SVG_CTL_GS_BA, "General State Base Address" }, @@ -127,7 +127,7 @@ brw_debug (ScrnInfoPtr pScrn, char *when) { I830Ptr pI830 = I830PTR(pScrn); int i; - CARD32 v; + uint32_t v; I830Sync (pScrn); ErrorF("brw_debug: %s\n", when); @@ -173,7 +173,7 @@ I965DisplayVideoTextured(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, int id, struct brw_instruction *sip_kernel; float *vb; float src_scale_x, src_scale_y; - CARD32 *binding_table; + uint32_t *binding_table; Bool first_output = TRUE; int dest_surf_offset, src_surf_offset, src_sampler_offset, vs_offset; int sf_offset, wm_offset, cc_offset, vb_offset, cc_viewport_offset; diff --git a/src/reg_dumper/reg_dumper.h b/src/reg_dumper/reg_dumper.h index 07ddf6fd..769adb27 100644 --- a/src/reg_dumper/reg_dumper.h +++ b/src/reg_dumper/reg_dumper.h @@ -36,7 +36,6 @@ * use i830_debug.c mostly unmodified. */ -typedef uint32_t CARD32; typedef char Bool; #define FALSE 0 -- cgit v1.2.3 From 5f272471878c896038b2c3f2bf704655d908828d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 11 Mar 2008 12:14:51 -0700 Subject: Nuke more CARD* types from i810 driver. Untested. --- src/i810.h | 11 +++++---- src/i810_cursor.c | 6 ++--- src/i810_driver.c | 8 +++---- src/i810_io.c | 24 +++++++++---------- src/i810_memory.c | 4 ++-- src/i810_video.c | 70 +++++++++++++++++++++++++++---------------------------- src/i830.h | 11 +++++---- src/i830_driver.c | 2 +- 8 files changed, 69 insertions(+), 67 deletions(-) diff --git a/src/i810.h b/src/i810.h index 8023c385..bd2985cb 100644 --- a/src/i810.h +++ b/src/i810.h @@ -85,11 +85,12 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. typedef struct _I810Rec *I810Ptr; typedef void (*I810WriteIndexedByteFunc)(I810Ptr pI810, IOADDRESS addr, - CARD8 index, CARD8 value); -typedef CARD8(*I810ReadIndexedByteFunc)(I810Ptr pI810, IOADDRESS addr, - CARD8 index); -typedef void (*I810WriteByteFunc)(I810Ptr pI810, IOADDRESS addr, CARD8 value); -typedef CARD8(*I810ReadByteFunc)(I810Ptr pI810, IOADDRESS addr); + uint8_t index, uint8_t value); +typedef uint8_t(*I810ReadIndexedByteFunc)(I810Ptr pI810, IOADDRESS addr, + uint8_t index); +typedef void (*I810WriteByteFunc)(I810Ptr pI810, IOADDRESS addr, + uint8_t value); +typedef uint8_t(*I810ReadByteFunc)(I810Ptr pI810, IOADDRESS addr); extern void I810SetTiledMemory(ScrnInfoPtr pScrn, int nr, unsigned start, unsigned pitch, unsigned size); diff --git a/src/i810_cursor.c b/src/i810_cursor.c index c293a3d5..30f42d14 100644 --- a/src/i810_cursor.c +++ b/src/i810_cursor.c @@ -130,8 +130,8 @@ static Bool I810UseHWCursorARGB (ScreenPtr pScreen, CursorPtr pCurs) static void I810LoadCursorARGB (ScrnInfoPtr pScrn, CursorPtr pCurs) { I810Ptr pI810 = I810PTR(pScrn); - CARD32 *pcurs = (CARD32 *) (pI810->FbBase + pI810->CursorStart); - CARD32 *image = (CARD32 *) pCurs->bits->argb; + uint32_t *pcurs = (uint32_t *) (pI810->FbBase + pI810->CursorStart); + uint32_t *image = (uint32_t *) pCurs->bits->argb; int x, y, w, h; #ifdef ARGB_CURSOR @@ -171,7 +171,7 @@ static void I810LoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src) { I810Ptr pI810 = I810PTR(pScrn); - CARD8 *pcurs = (CARD8 *) (pI810->FbBase + pI810->CursorStart); + uint8_t *pcurs = (uint8_t *) (pI810->FbBase + pI810->CursorStart); int x, y; #ifdef ARGB_CURSOR diff --git a/src/i810_driver.c b/src/i810_driver.c index 53121a6a..4b716608 100644 --- a/src/i810_driver.c +++ b/src/i810_driver.c @@ -1609,7 +1609,7 @@ I810Save(ScrnInfoPtr pScrn) { vgaHWPtr hwp; I810Ptr pI810; - CARD32 temp; + uint32_t temp; hwp = VGAHWPTR(pScrn); pI810 = I810PTR(pScrn); @@ -1770,9 +1770,9 @@ DoRestore(ScrnInfoPtr pScrn, vgaRegPtr vgaReg, I810RegPtr i810Reg, /* Setting the OVRACT Register for video overlay */ { - CARD32 LCD_TV_Control = INREG(LCD_TV_C); - CARD32 TV_HTotal = INREG(LCD_TV_HTOTAL); - CARD32 ActiveStart, ActiveEnd; + uint32_t LCD_TV_Control = INREG(LCD_TV_C); + uint32_t TV_HTotal = INREG(LCD_TV_HTOTAL); + uint32_t ActiveStart, ActiveEnd; if((LCD_TV_Control & LCD_TV_ENABLE) && !(LCD_TV_Control & LCD_TV_VGAMOD) diff --git a/src/i810_io.c b/src/i810_io.c index abe1d6f0..3fd8e4e3 100644 --- a/src/i810_io.c +++ b/src/i810_io.c @@ -71,19 +71,19 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "i810.h" #endif -#define minb(p) *(volatile CARD8 *)(pI810->MMIOBase + (p)) -#define moutb(p,v) *(volatile CARD8 *)(pI810->MMIOBase + (p)) = (v) +#define minb(p) *(volatile uint8_t *)(pI810->MMIOBase + (p)) +#define moutb(p,v) *(volatile uint8_t *)(pI810->MMIOBase + (p)) = (v) static void -I810WriteControlPIO(I810Ptr pI810, IOADDRESS addr, CARD8 index, CARD8 val) +I810WriteControlPIO(I810Ptr pI810, IOADDRESS addr, uint8_t index, uint8_t val) { addr += pI810->ioBase; outb(addr, index); outb(addr + 1, val); } -static CARD8 -I810ReadControlPIO(I810Ptr pI810, IOADDRESS addr, CARD8 index) +static uint8_t +I810ReadControlPIO(I810Ptr pI810, IOADDRESS addr, uint8_t index) { addr += pI810->ioBase; outb(addr, index); @@ -91,12 +91,12 @@ I810ReadControlPIO(I810Ptr pI810, IOADDRESS addr, CARD8 index) } static void -I810WriteStandardPIO(I810Ptr pI810, IOADDRESS addr, CARD8 val) +I810WriteStandardPIO(I810Ptr pI810, IOADDRESS addr, uint8_t val) { outb(pI810->ioBase + addr, val); } -static CARD8 +static uint8_t I810ReadStandardPIO(I810Ptr pI810, IOADDRESS addr) { return inb(pI810->ioBase + addr); @@ -112,26 +112,26 @@ I810SetPIOAccess(I810Ptr pI810) } static void -I810WriteControlMMIO(I810Ptr pI810, IOADDRESS addr, CARD8 index, CARD8 val) +I810WriteControlMMIO(I810Ptr pI810, IOADDRESS addr, uint8_t index, uint8_t val) { moutb(addr, index); moutb(addr + 1, val); } -static CARD8 -I810ReadControlMMIO(I810Ptr pI810, IOADDRESS addr, CARD8 index) +static uint8_t +I810ReadControlMMIO(I810Ptr pI810, IOADDRESS addr, uint8_t index) { moutb(addr, index); return minb(addr + 1); } static void -I810WriteStandardMMIO(I810Ptr pI810, IOADDRESS addr, CARD8 val) +I810WriteStandardMMIO(I810Ptr pI810, IOADDRESS addr, uint8_t val) { moutb(addr, val); } -static CARD8 +static uint8_t I810ReadStandardMMIO(I810Ptr pI810, IOADDRESS addr) { return minb(addr); diff --git a/src/i810_memory.c b/src/i810_memory.c index 82d86eb2..222b5cf7 100644 --- a/src/i810_memory.c +++ b/src/i810_memory.c @@ -260,8 +260,8 @@ I810SetTiledMemory(ScrnInfoPtr pScrn, int nr, unsigned int start, { I810Ptr pI810 = I810PTR(pScrn); I810RegPtr i810Reg = &pI810->ModeReg; - CARD32 val; - CARD32 fence_mask = 0; + uint32_t val; + uint32_t fence_mask = 0; if (nr < 0 || nr > 7) { xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "%s - fence %d out of range\n", diff --git a/src/i810_video.c b/src/i810_video.c index b3dc90e5..418f2952 100644 --- a/src/i810_video.c +++ b/src/i810_video.c @@ -271,43 +271,43 @@ static XF86ImageRec Images[NUM_IMAGES] = /* *INDENT-ON* */ typedef struct { - CARD32 OBUF_0Y; - CARD32 OBUF_1Y; - CARD32 OBUF_0U; - CARD32 OBUF_0V; - CARD32 OBUF_1U; - CARD32 OBUF_1V; - CARD32 OV0STRIDE; - CARD32 YRGB_VPH; - CARD32 UV_VPH; - CARD32 HORZ_PH; - CARD32 INIT_PH; - CARD32 DWINPOS; - CARD32 DWINSZ; - CARD32 SWID; - CARD32 SWIDQW; - CARD32 SHEIGHT; - CARD32 YRGBSCALE; - CARD32 UVSCALE; - CARD32 OV0CLRC0; - CARD32 OV0CLRC1; - CARD32 DCLRKV; - CARD32 DCLRKM; - CARD32 SCLRKVH; - CARD32 SCLRKVL; - CARD32 SCLRKM; - CARD32 OV0CONF; - CARD32 OV0CMD; + uint32_t OBUF_0Y; + uint32_t OBUF_1Y; + uint32_t OBUF_0U; + uint32_t OBUF_0V; + uint32_t OBUF_1U; + uint32_t OBUF_1V; + uint32_t OV0STRIDE; + uint32_t YRGB_VPH; + uint32_t UV_VPH; + uint32_t HORZ_PH; + uint32_t INIT_PH; + uint32_t DWINPOS; + uint32_t DWINSZ; + uint32_t SWID; + uint32_t SWIDQW; + uint32_t SHEIGHT; + uint32_t YRGBSCALE; + uint32_t UVSCALE; + uint32_t OV0CLRC0; + uint32_t OV0CLRC1; + uint32_t DCLRKV; + uint32_t DCLRKM; + uint32_t SCLRKVH; + uint32_t SCLRKVL; + uint32_t SCLRKM; + uint32_t OV0CONF; + uint32_t OV0CMD; } I810OverlayRegRec, *I810OverlayRegPtr; typedef struct { - CARD32 YBuf0offset; - CARD32 UBuf0offset; - CARD32 VBuf0offset; + uint32_t YBuf0offset; + uint32_t UBuf0offset; + uint32_t VBuf0offset; - CARD32 YBuf1offset; - CARD32 UBuf1offset; - CARD32 VBuf1offset; + uint32_t YBuf1offset; + uint32_t UBuf1offset; + uint32_t VBuf1offset; unsigned char currentBuf; @@ -315,9 +315,9 @@ typedef struct { int contrast; RegionRec clip; - CARD32 colorKey; + uint32_t colorKey; - CARD32 videoStatus; + uint32_t videoStatus; Time offTime; Time freeTime; FBLinearPtr linear; diff --git a/src/i830.h b/src/i830.h index bfbaf428..3866a25a 100644 --- a/src/i830.h +++ b/src/i830.h @@ -121,11 +121,12 @@ typedef struct _I830OutputRec I830OutputRec, *I830OutputPtr; typedef struct _I830Rec *I830Ptr; typedef void (*I830WriteIndexedByteFunc)(I830Ptr pI830, IOADDRESS addr, - CARD8 index, CARD8 value); -typedef CARD8(*I830ReadIndexedByteFunc)(I830Ptr pI830, IOADDRESS addr, - CARD8 index); -typedef void (*I830WriteByteFunc)(I830Ptr pI830, IOADDRESS addr, CARD8 value); -typedef CARD8(*I830ReadByteFunc)(I830Ptr pI830, IOADDRESS addr); + uint8_t index, uint8_t value); +typedef uint8_t(*I830ReadIndexedByteFunc)(I830Ptr pI830, IOADDRESS addr, + uint8_t index); +typedef void (*I830WriteByteFunc)(I830Ptr pI830, IOADDRESS addr, + uint8_t value); +typedef uint8_t(*I830ReadByteFunc)(I830Ptr pI830, IOADDRESS addr); enum tile_format { TILE_NONE, diff --git a/src/i830_driver.c b/src/i830_driver.c index 0365d204..4c282679 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -3511,7 +3511,7 @@ I830CheckDevicesTimer(OsTimerPtr timer, CARD32 now, pointer arg) { ScrnInfoPtr pScrn = (ScrnInfoPtr) arg; I830Ptr pI830 = I830PTR(pScrn); - CARD8 gr18; + uint8_t gr18; if (!pScrn->vtSema) return 1000; -- cgit v1.2.3 From a8f4108bea0966406b0fcae8d062ae1cfb4afbb3 Mon Sep 17 00:00:00 2001 From: Hong Liu Date: Wed, 12 Mar 2008 21:55:56 +0800 Subject: Fix rotation mem with kernel memory manager in VT switch Unbind and bind a DRM BO may change the buffer offset, thus crtc may reference a wrong rotated memory after a VT switch cycle. Destroying it here will cause its reallocation when entering VT. --- src/i830_driver.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/i830_driver.c b/src/i830_driver.c index 4c282679..644a11c9 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -3088,6 +3088,8 @@ I830LeaveVT(int scrnIndex, int flags) { ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; I830Ptr pI830 = I830PTR(pScrn); + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); + int o; DPRINTF(PFX, "Leave VT\n"); @@ -3115,6 +3117,17 @@ I830LeaveVT(int scrnIndex, int flags) } #endif + for (o = 0; o < config->num_crtc; o++) { + xf86CrtcPtr crtc = config->crtc[o]; + + if (crtc->rotatedPixmap || crtc->rotatedData) { + crtc->funcs->shadow_destroy(crtc, crtc->rotatedPixmap, + crtc->rotatedData); + crtc->rotatedPixmap = NULL; + crtc->rotatedData = NULL; + } + } + xf86_hide_cursors (pScrn); RestoreHWState(pScrn); -- cgit v1.2.3 From c82d8e51c6ff9522ad0deb33399d13f3d6fef19d Mon Sep 17 00:00:00 2001 From: Jesse Barnes Date: Wed, 12 Mar 2008 11:13:50 -0700 Subject: Add pipe A force quirk for Thinkpad R31 Fixes #15036. --- src/i830_quirks.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/i830_quirks.c b/src/i830_quirks.c index 3f931d65..7d0d1429 100644 --- a/src/i830_quirks.c +++ b/src/i830_quirks.c @@ -249,6 +249,8 @@ static i830_quirk i830_quirk_list[] = { /* HP Compaq 6730s has no TV output */ { PCI_CHIP_IGD_GM, 0x103c, 0x30e8, quirk_ignore_tv }, + /* Thinkpad R31 needs pipe A force quirk */ + { PCI_CHIP_I830_M, 0x1014, 0x0505, quirk_pipea_force }, /* Dell Latitude D500 needs pipe A force quirk */ { PCI_CHIP_I855_GM, 0x1028, 0x0152, quirk_pipea_force }, /* Dell Inspiron 510m needs pipe A force quirk */ -- cgit v1.2.3 From 8563effc96195116c96f89a801c1de6ab982630a Mon Sep 17 00:00:00 2001 From: Jesse Barnes Date: Wed, 12 Mar 2008 11:14:17 -0700 Subject: Add stdint.h to i830_bios.h Needed for new uint* usage. --- src/i830_bios.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/i830_bios.h b/src/i830_bios.h index 46e34f94..95230f5a 100644 --- a/src/i830_bios.h +++ b/src/i830_bios.h @@ -28,6 +28,7 @@ #ifndef _I830_BIOS_H_ #define _I830_BIOS_H_ +#include #include struct vbt_header { -- cgit v1.2.3 From 907399660b83b3939aab3dc7d0697197441e4ec8 Mon Sep 17 00:00:00 2001 From: Jesse Barnes Date: Wed, 12 Mar 2008 12:33:36 -0700 Subject: Add stdint.h to DVO drivers Fixes the build for me (just following the git development guide on a new machine). --- src/ch7017/ch7017.c | 1 + src/ch7xxx/ch7xxx.c | 1 + src/sil164/sil164.c | 2 ++ src/tfp410/tfp410.c | 2 ++ 4 files changed, 6 insertions(+) diff --git a/src/ch7017/ch7017.c b/src/ch7017/ch7017.c index f685965c..759fc24b 100644 --- a/src/ch7017/ch7017.c +++ b/src/ch7017/ch7017.c @@ -29,6 +29,7 @@ #include "config.h" #endif +#include #include #include "xf86.h" diff --git a/src/ch7xxx/ch7xxx.c b/src/ch7xxx/ch7xxx.c index 3309a569..8a439e42 100644 --- a/src/ch7xxx/ch7xxx.c +++ b/src/ch7xxx/ch7xxx.c @@ -30,6 +30,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "config.h" #endif +#include #include #include "xf86.h" #include "xf86_OSproc.h" diff --git a/src/sil164/sil164.c b/src/sil164/sil164.c index 0c325456..410a681f 100644 --- a/src/sil164/sil164.c +++ b/src/sil164/sil164.c @@ -31,6 +31,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "config.h" #endif +#include + #include "xf86.h" #include "xf86_OSproc.h" #include "xf86Resources.h" diff --git a/src/tfp410/tfp410.c b/src/tfp410/tfp410.c index 81a6d0a7..c2c4fc3d 100644 --- a/src/tfp410/tfp410.c +++ b/src/tfp410/tfp410.c @@ -30,6 +30,8 @@ #include "config.h" #endif +#include + #include "xf86.h" #include "xf86_OSproc.h" #include "xf86Resources.h" -- cgit v1.2.3 From e04908853db74dc76718f6bc0dfb23b5ab3c5837 Mon Sep 17 00:00:00 2001 From: Jesse Barnes Date: Wed, 12 Mar 2008 15:44:58 -0700 Subject: Add sysfs backlight support for Fujitsu laptops Tested by Dan Williams. --- src/i830_lvds.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/i830_lvds.c b/src/i830_lvds.c index a23631cc..a75d7e65 100644 --- a/src/i830_lvds.c +++ b/src/i830_lvds.c @@ -68,6 +68,7 @@ static char *backlight_interfaces[] = { "thinkpad_screen", "acpi_video1", "acpi_video0", + "fujitsu-laptop", NULL, }; -- cgit v1.2.3 From abf11a274e14535630742fe4c41cc0ae92555293 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Mar 2008 11:03:26 -0700 Subject: Separate i810 and i830 ring macros out into separate files. I want to hack on i830 for changing it into a compat path for batchbuffer without having to worry about the i810 stuff getting broken. --- src/common.h | 91 ------------------------------------------ src/i810.h | 1 + src/i810_ring.h | 90 +++++++++++++++++++++++++++++++++++++++++ src/i830.h | 2 +- src/i830_ring.h | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 213 insertions(+), 92 deletions(-) create mode 100644 src/i810_ring.h create mode 100644 src/i830_ring.h diff --git a/src/common.h b/src/common.h index da60d085..9a3e0ac3 100644 --- a/src/common.h +++ b/src/common.h @@ -121,15 +121,6 @@ extern void I830DPRINTF_stub(const char *filename, int line, } \ } while (0) -#define OUT_RING(n) do { \ - if (I810_DEBUG & DEBUG_VERBOSE_RING) \ - ErrorF( "OUT_RING %lx: %x, (mask %x)\n", \ - (unsigned long)(outring), (unsigned int)(n), ringmask); \ - *(volatile unsigned int *)(virt + outring) = n; \ - outring += 4; ringused += 4; \ - outring &= ringmask; \ -} while (0) - static inline void memset_volatile(volatile void *b, int c, size_t len) { int i; @@ -147,88 +138,6 @@ static inline void memcpy_volatile(volatile void *dst, const void *src, ((volatile char *)dst)[i] = ((volatile char *)src)[i]; } -/** Copies a given number of bytes to the ring */ -#define OUT_RING_COPY(n, ptr) do { \ - if (I810_DEBUG & DEBUG_VERBOSE_RING) \ - ErrorF("OUT_RING_DATA %d bytes\n", n); \ - memcpy_volatile(virt + outring, ptr, n); \ - outring += n; \ - ringused += n; \ - outring &= ringmask; \ -} while (0) - -/** Pads the ring with a given number of zero bytes */ -#define OUT_RING_PAD(n) do { \ - if (I810_DEBUG & DEBUG_VERBOSE_RING) \ - ErrorF("OUT_RING_PAD %d bytes\n", n); \ - memset_volatile(virt + outring, 0, n); \ - outring += n; \ - ringused += n; \ - outring &= ringmask; \ -} while (0) - -union intfloat { - float f; - unsigned int ui; -}; - -#define OUT_RING_F(x) do { \ - union intfloat tmp; \ - tmp.f = (float)(x); \ - OUT_RING(tmp.ui); \ -} while(0) - -#define ADVANCE_LP_RING() do { \ - if (ringused > needed) \ - FatalError("%s: ADVANCE_LP_RING: exceeded allocation %d/%d\n ", \ - __FUNCTION__, ringused, needed); \ - else if (ringused < needed) \ - FatalError("%s: ADVANCE_LP_RING: under-used allocation %d/%d\n ", \ - __FUNCTION__, ringused, needed); \ - RecPtr->LpRing->tail = outring; \ - RecPtr->LpRing->space -= ringused; \ - if (outring & 0x07) \ - FatalError("%s: ADVANCE_LP_RING: " \ - "outring (0x%x) isn't on a QWord boundary\n", \ - __FUNCTION__, outring); \ - OUTREG(LP_RING + RING_TAIL, outring); \ -} while (0) - -/* - * XXX Note: the head/tail masks are different for 810 and i830. - * If the i810 always sets the higher bits to 0, then this shouldn't be - * a problem. Check this! - */ -#define DO_RING_IDLE() do { \ - int _head; \ - int _tail; \ - do { \ - _head = INREG(LP_RING + RING_HEAD) & I830_HEAD_MASK; \ - _tail = INREG(LP_RING + RING_TAIL) & I830_TAIL_MASK; \ - DELAY(10); \ - } while (_head != _tail); \ -} while( 0) - - -#define BEGIN_LP_RING(n) \ - unsigned int outring, ringmask, ringused = 0; \ - volatile unsigned char *virt; \ - int needed; \ - if ((n) & 1) \ - ErrorF("BEGIN_LP_RING called with odd argument: %d\n", n); \ - if ((n) > 2 && (I810_DEBUG&DEBUG_ALWAYS_SYNC)) \ - DO_RING_IDLE(); \ - needed = (n) * 4; \ - if (RecPtr->LpRing->space < needed) \ - WaitRingFunc(pScrn, needed, 0); \ - outring = RecPtr->LpRing->tail; \ - ringmask = RecPtr->LpRing->tail_mask; \ - virt = RecPtr->LpRing->virtual_start; \ - if (I810_DEBUG & DEBUG_VERBOSE_RING) \ - ErrorF( "BEGIN_LP_RING %d in %s\n", n, FUNCTION_NAME); - - - /* Memory mapped register access macros */ #define INREG8(addr) *(volatile uint8_t *)(RecPtr->MMIOBase + (addr)) #define INREG16(addr) *(volatile uint16_t *)(RecPtr->MMIOBase + (addr)) diff --git a/src/i810.h b/src/i810.h index bd2985cb..b798021f 100644 --- a/src/i810.h +++ b/src/i810.h @@ -65,6 +65,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #endif #include "common.h" +#include "i810_ring.h" #define I810_VERSION 4000 #define I810_NAME "intel" diff --git a/src/i810_ring.h b/src/i810_ring.h new file mode 100644 index 00000000..e6e354fd --- /dev/null +++ b/src/i810_ring.h @@ -0,0 +1,90 @@ +/************************************************************************** + +Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. +Copyright © 2002 David Dawes + +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sub license, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +**************************************************************************/ + +#ifndef _INTEL_RING_H +#define _INTEL_RING_H + +#define OUT_RING(n) do { \ + if (I810_DEBUG & DEBUG_VERBOSE_RING) \ + ErrorF("OUT_RING %lx: %x, (mask %x)\n", \ + (unsigned long)(outring), (unsigned int)(n), ringmask); \ + *(volatile unsigned int *)(virt + outring) = n; \ + outring += 4; ringused += 4; \ + outring &= ringmask; \ +} while (0) + +#define ADVANCE_LP_RING() do { \ + if (ringused > needed) \ + FatalError("%s: ADVANCE_LP_RING: exceeded allocation %d/%d\n ", \ + __FUNCTION__, ringused, needed); \ + else if (ringused < needed) \ + FatalError("%s: ADVANCE_LP_RING: under-used allocation %d/%d\n ", \ + __FUNCTION__, ringused, needed); \ + pI810->LpRing->tail = outring; \ + pI810->LpRing->space -= ringused; \ + if (outring & 0x07) \ + FatalError("%s: ADVANCE_LP_RING: " \ + "outring (0x%x) isn't on a QWord boundary\n", \ + __FUNCTION__, outring); \ + OUTREG(LP_RING + RING_TAIL, outring); \ +} while (0) + +/* + * XXX Note: the head/tail masks are different for 810 and i830. + * If the i810 always sets the higher bits to 0, then this shouldn't be + * a problem. Check this! + */ +#define DO_RING_IDLE() do { \ + int _head; \ + int _tail; \ + do { \ + _head = INREG(LP_RING + RING_HEAD) & I830_HEAD_MASK; \ + _tail = INREG(LP_RING + RING_TAIL) & I830_TAIL_MASK; \ + DELAY(10); \ + } while (_head != _tail); \ +} while( 0) + +#define BEGIN_LP_RING(n) \ + unsigned int outring, ringmask, ringused = 0; \ + volatile unsigned char *virt; \ + int needed; \ + if ((n) & 1) \ + ErrorF("BEGIN_LP_RING called with odd argument: %d\n", n); \ + if ((n) > 2 && (I810_DEBUG&DEBUG_ALWAYS_SYNC)) \ + DO_RING_IDLE(); \ + needed = (n) * 4; \ + if (pI810->LpRing->space < needed) \ + WaitRingFunc(pScrn, needed, 0); \ + outring = pI810->LpRing->tail; \ + ringmask = pI810->LpRing->tail_mask; \ + virt = pI810->LpRing->virtual_start; \ + if (I810_DEBUG & DEBUG_VERBOSE_RING) \ + ErrorF( "BEGIN_LP_RING %d in %s\n", n, FUNCTION_NAME); + +#endif /* _INTEL_RING_H */ diff --git a/src/i830.h b/src/i830.h index 3866a25a..68a71c58 100644 --- a/src/i830.h +++ b/src/i830.h @@ -1,4 +1,3 @@ - /************************************************************************** Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. @@ -97,6 +96,7 @@ Bool I830XAAInit(ScreenPtr pScreen); typedef struct _I830OutputRec I830OutputRec, *I830OutputPtr; #include "common.h" +#include "i830_ring.h" #include "i830_sdvo.h" #include "i2c_vid.h" diff --git a/src/i830_ring.h b/src/i830_ring.h new file mode 100644 index 00000000..dd55e6f1 --- /dev/null +++ b/src/i830_ring.h @@ -0,0 +1,121 @@ +/************************************************************************** + +Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. +Copyright © 2002 David Dawes + +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sub license, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +**************************************************************************/ + +#ifndef _INTEL_RING_H +#define _INTEL_RING_H + +#define OUT_RING(n) do { \ + if (I810_DEBUG & DEBUG_VERBOSE_RING) \ + ErrorF( "OUT_RING %lx: %x, (mask %x)\n", \ + (unsigned long)(outring), (unsigned int)(n), ringmask); \ + *(volatile unsigned int *)(virt + outring) = n; \ + outring += 4; ringused += 4; \ + outring &= ringmask; \ +} while (0) + +/** Copies a given number of bytes to the ring */ +#define OUT_RING_COPY(n, ptr) do { \ + if (I810_DEBUG & DEBUG_VERBOSE_RING) \ + ErrorF("OUT_RING_DATA %d bytes\n", n); \ + memcpy_volatile(virt + outring, ptr, n); \ + outring += n; \ + ringused += n; \ + outring &= ringmask; \ +} while (0) + +/** Pads the ring with a given number of zero bytes */ +#define OUT_RING_PAD(n) do { \ + if (I810_DEBUG & DEBUG_VERBOSE_RING) \ + ErrorF("OUT_RING_PAD %d bytes\n", n); \ + memset_volatile(virt + outring, 0, n); \ + outring += n; \ + ringused += n; \ + outring &= ringmask; \ +} while (0) + +union intfloat { + float f; + unsigned int ui; +}; + +#define OUT_RING_F(x) do { \ + union intfloat tmp; \ + tmp.f = (float)(x); \ + OUT_RING(tmp.ui); \ +} while(0) + +#define ADVANCE_LP_RING() do { \ + if (ringused > needed) \ + FatalError("%s: ADVANCE_LP_RING: exceeded allocation %d/%d\n ", \ + __FUNCTION__, ringused, needed); \ + else if (ringused < needed) \ + FatalError("%s: ADVANCE_LP_RING: under-used allocation %d/%d\n ", \ + __FUNCTION__, ringused, needed); \ + pI830->LpRing->tail = outring; \ + pI830->LpRing->space -= ringused; \ + if (outring & 0x07) \ + FatalError("%s: ADVANCE_LP_RING: " \ + "outring (0x%x) isn't on a QWord boundary\n", \ + __FUNCTION__, outring); \ + OUTREG(LP_RING + RING_TAIL, outring); \ +} while (0) + +/* + * XXX Note: the head/tail masks are different for 810 and i830. + * If the i810 always sets the higher bits to 0, then this shouldn't be + * a problem. Check this! + */ +#define DO_RING_IDLE() do { \ + int _head; \ + int _tail; \ + do { \ + _head = INREG(LP_RING + RING_HEAD) & I830_HEAD_MASK; \ + _tail = INREG(LP_RING + RING_TAIL) & I830_TAIL_MASK; \ + DELAY(10); \ + } while (_head != _tail); \ +} while( 0) + +#define BEGIN_LP_RING(n) \ + unsigned int outring, ringmask, ringused = 0; \ + volatile unsigned char *virt; \ + int needed; \ + if ((n) & 1) \ + ErrorF("BEGIN_LP_RING called with odd argument: %d\n", n); \ + if ((n) > 2 && (I810_DEBUG&DEBUG_ALWAYS_SYNC)) \ + DO_RING_IDLE(); \ + needed = (n) * 4; \ + if (pI830->LpRing->space < needed) \ + WaitRingFunc(pScrn, needed, 0); \ + outring = pI830->LpRing->tail; \ + ringmask = pI830->LpRing->tail_mask; \ + virt = pI830->LpRing->virtual_start; \ + if (I810_DEBUG & DEBUG_VERBOSE_RING) \ + ErrorF( "BEGIN_LP_RING %d in %s\n", n, FUNCTION_NAME); + +#endif /* _INTEL_RING_H */ -- cgit v1.2.3 From 2e2372912ed9bc0d86e8960653ef0bfce5cf99ab Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Mar 2008 11:38:56 -0700 Subject: Eliminate local variables defined in i830 BEGIN_LP_RING(). This lets us get better sanity asserts, and avoid mysterious braces when you do two BEGIN_LP_RING()s in a single function. Potential minor performance loss isn't too exciting, as ring access is about to become a compat path anyway. This change also removes the requirement for ring emits to be aligned to dwords. --- src/i830.h | 7 ++++ src/i830_ring.h | 116 +++++++++++++++++++++++++++++++------------------------- 2 files changed, 72 insertions(+), 51 deletions(-) diff --git a/src/i830.h b/src/i830.h index 68a71c58..6c3fa522 100644 --- a/src/i830.h +++ b/src/i830.h @@ -395,6 +395,13 @@ typedef struct _I830Rec { /* Regions allocated either from the above pools, or from agpgart. */ I830RingBuffer *LpRing; + /** Number of bytes being emitted in the current BEGIN_LP_RING */ + unsigned int ring_emitting; + /** Number of bytes that have been emitted in the current BEGIN_LP_RING */ + unsigned int ring_used; + /** Offset in the ring for the next DWORD emit */ + uint32_t ring_next; + #ifdef I830_XV /* For Xvideo */ i830_memory *overlay_regs; diff --git a/src/i830_ring.h b/src/i830_ring.h index dd55e6f1..177b0d52 100644 --- a/src/i830_ring.h +++ b/src/i830_ring.h @@ -31,32 +31,37 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define _INTEL_RING_H #define OUT_RING(n) do { \ - if (I810_DEBUG & DEBUG_VERBOSE_RING) \ - ErrorF( "OUT_RING %lx: %x, (mask %x)\n", \ - (unsigned long)(outring), (unsigned int)(n), ringmask); \ - *(volatile unsigned int *)(virt + outring) = n; \ - outring += 4; ringused += 4; \ - outring &= ringmask; \ + if (I810_DEBUG & DEBUG_VERBOSE_RING) \ + ErrorF("OUT_RING 0x%08x: 0x%08x, (mask %x)\n", \ + pI830->ring_next, (unsigned int)(n), \ + pI830->LpRing->tail_mask); \ + *(volatile uint32_t *)(pI830->LpRing->virtual_start + \ + pI830->ring_next) = n; \ + pI830->ring_used += 4; \ + pI830->ring_next += 4; \ + pI830->ring_next &= pI830->LpRing->tail_mask; \ } while (0) /** Copies a given number of bytes to the ring */ #define OUT_RING_COPY(n, ptr) do { \ if (I810_DEBUG & DEBUG_VERBOSE_RING) \ ErrorF("OUT_RING_DATA %d bytes\n", n); \ - memcpy_volatile(virt + outring, ptr, n); \ - outring += n; \ - ringused += n; \ - outring &= ringmask; \ + memcpy_volatile(pI830->LpRing->virtual_start + pI830->ring_next, \ + ptr, n); \ + pI830->ring_used += n; \ + pI830->ring_next += n; \ + pI830->ring_next &= pI830->LpRing->tail_mask; \ } while (0) /** Pads the ring with a given number of zero bytes */ #define OUT_RING_PAD(n) do { \ if (I810_DEBUG & DEBUG_VERBOSE_RING) \ ErrorF("OUT_RING_PAD %d bytes\n", n); \ - memset_volatile(virt + outring, 0, n); \ - outring += n; \ - ringused += n; \ - outring &= ringmask; \ + memset_volatile(pI830->LpRing->virtual_start + pI830->ring_next, \ + 0, n); \ + pI830->ring_used += n; \ + pI830->ring_next += n; \ + pI830->ring_next &= pI830->LpRing->tail_mask; \ } while (0) union intfloat { @@ -68,22 +73,28 @@ union intfloat { union intfloat tmp; \ tmp.f = (float)(x); \ OUT_RING(tmp.ui); \ -} while(0) +} while(0) #define ADVANCE_LP_RING() do { \ - if (ringused > needed) \ - FatalError("%s: ADVANCE_LP_RING: exceeded allocation %d/%d\n ", \ - __FUNCTION__, ringused, needed); \ - else if (ringused < needed) \ - FatalError("%s: ADVANCE_LP_RING: under-used allocation %d/%d\n ", \ - __FUNCTION__, ringused, needed); \ - pI830->LpRing->tail = outring; \ - pI830->LpRing->space -= ringused; \ - if (outring & 0x07) \ - FatalError("%s: ADVANCE_LP_RING: " \ - "outring (0x%x) isn't on a QWord boundary\n", \ - __FUNCTION__, outring); \ - OUTREG(LP_RING + RING_TAIL, outring); \ + if (pI830->ring_emitting == 0) \ + FatalError("%s: ADVANCE_LP_RING called with no matching " \ + "BEGIN_LP_RING\n", __FUNCTION__); \ + if (pI830->ring_used > pI830->ring_emitting) \ + FatalError("%s: ADVANCE_LP_RING: exceeded allocation %d/%d\n ", \ + __FUNCTION__, pI830->ring_used, \ + pI830->ring_emitting); \ + if (pI830->ring_used < pI830->ring_emitting) \ + FatalError("%s: ADVANCE_LP_RING: under-used allocation %d/%d\n ", \ + __FUNCTION__, pI830->ring_used, \ + pI830->ring_emitting); \ + pI830->LpRing->tail = pI830->ring_next; \ + pI830->LpRing->space -= pI830->ring_used; \ + if (pI830->ring_next & 0x07) \ + FatalError("%s: ADVANCE_LP_RING: " \ + "ring_next (0x%x) isn't on a QWord boundary\n", \ + __FUNCTION__, pI830->ring_next); \ + OUTREG(LP_RING + RING_TAIL, pI830->ring_next); \ + pI830->ring_emitting = 0; \ } while (0) /* @@ -92,30 +103,33 @@ union intfloat { * a problem. Check this! */ #define DO_RING_IDLE() do { \ - int _head; \ - int _tail; \ - do { \ - _head = INREG(LP_RING + RING_HEAD) & I830_HEAD_MASK; \ - _tail = INREG(LP_RING + RING_TAIL) & I830_TAIL_MASK; \ - DELAY(10); \ - } while (_head != _tail); \ -} while( 0) + int _head; \ + int _tail; \ + do { \ + _head = INREG(LP_RING + RING_HEAD) & I830_HEAD_MASK; \ + _tail = INREG(LP_RING + RING_TAIL) & I830_TAIL_MASK; \ + DELAY(10); \ + } while (_head != _tail); \ +} while (0) #define BEGIN_LP_RING(n) \ - unsigned int outring, ringmask, ringused = 0; \ - volatile unsigned char *virt; \ - int needed; \ - if ((n) & 1) \ - ErrorF("BEGIN_LP_RING called with odd argument: %d\n", n); \ - if ((n) > 2 && (I810_DEBUG&DEBUG_ALWAYS_SYNC)) \ - DO_RING_IDLE(); \ - needed = (n) * 4; \ - if (pI830->LpRing->space < needed) \ - WaitRingFunc(pScrn, needed, 0); \ - outring = pI830->LpRing->tail; \ - ringmask = pI830->LpRing->tail_mask; \ - virt = pI830->LpRing->virtual_start; \ - if (I810_DEBUG & DEBUG_VERBOSE_RING) \ - ErrorF( "BEGIN_LP_RING %d in %s\n", n, FUNCTION_NAME); +do { \ + if (pI830->ring_emitting != 0) \ + FatalError("%s: BEGIN_LP_RING called without closing " \ + "ADVANCE_LP_RING\n", __FUNCTION__); \ + if ((n) > 2 && (I810_DEBUG&DEBUG_ALWAYS_SYNC)) \ + DO_RING_IDLE(); \ + pI830->ring_emitting = (n) * 4; \ + if ((n) & 1) \ + pI830->ring_emitting += 4; \ + if (pI830->LpRing->space < pI830->ring_emitting) \ + WaitRingFunc(pScrn, pI830->ring_emitting, 0); \ + pI830->ring_next = pI830->LpRing->tail; \ + if (I810_DEBUG & DEBUG_VERBOSE_RING) \ + ErrorF( "BEGIN_LP_RING %d in %s\n", n, FUNCTION_NAME); \ + pI830->ring_used = 0; \ + if ((n) & 1) \ + OUT_RING(MI_NOOP); \ +} while (0) #endif /* _INTEL_RING_H */ -- cgit v1.2.3 From 1c0e4958564588162bc22a980567436dfc9d1e56 Mon Sep 17 00:00:00 2001 From: Zhenyu Wang Date: Thu, 13 Mar 2008 10:15:55 +0800 Subject: Always bind memory after agp aperture allocation This fixed the crash appearing for Xv buffer memory, which appears allocation and free happening in stolen memory. We should always try to bind for stolen memory for correct protect setup, otherwise we might get fault that stolen memory protect reverted to non-r/w after previous free and unbind. Credit goes to Lukas Hejtmanek to identify the real problem of Xv crash! --- src/i830_memory.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/i830_memory.c b/src/i830_memory.c index ec4d699a..2cac26b7 100644 --- a/src/i830_memory.c +++ b/src/i830_memory.c @@ -730,10 +730,6 @@ i830_allocate_agp_memory(ScrnInfoPtr pScrn, i830_memory *mem, int flags) return FALSE; } - if (!i830_bind_memory(pScrn, mem)) { - return FALSE; - } - return TRUE; } @@ -853,6 +849,11 @@ i830_allocate_memory(ScrnInfoPtr pScrn, const char *name, i830_free_memory(pScrn, mem); return NULL; } + + if (!i830_bind_memory(pScrn, mem)) { + i830_free_memory(pScrn, mem); + return NULL; + } } mem->tiling = TILE_NONE; -- cgit v1.2.3