diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/common.h | 105 | ||||
-rw-r--r-- | src/intel_display.c | 3 | ||||
-rw-r--r-- | src/intel_driver.c | 2 | ||||
-rw-r--r-- | src/intel_memory.c | 2 | ||||
-rw-r--r-- | src/intel_module.c | 4 | ||||
-rw-r--r-- | src/legacy/i810/i810_driver.c | 2 | ||||
-rw-r--r-- | src/sna/sna.h | 10 | ||||
-rw-r--r-- | src/sna/sna_display.c | 22 | ||||
-rw-r--r-- | src/sna/sna_dri.c | 1 | ||||
-rw-r--r-- | src/sna/sna_video_textured.c | 4 |
10 files changed, 15 insertions, 140 deletions
diff --git a/src/common.h b/src/common.h index e3ab1f22..86e5b11d 100644 --- a/src/common.h +++ b/src/common.h @@ -38,6 +38,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #ifndef _INTEL_COMMON_H_ #define _INTEL_COMMON_H_ +#include <xf86.h> + /* Provide substitutes for gcc's __FUNCTION__ on other compilers */ #if !defined(__GNUC__) && !defined(__FUNCTION__) # if defined(__STDC__) && (__STDC_VERSION__>=199901L) /* C99 */ @@ -47,117 +49,14 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # endif #endif - #define PFX __FILE__,__LINE__,__FUNCTION__ #define FUNCTION_NAME __FUNCTION__ #define KB(x) ((x) * 1024) #define MB(x) ((x) * KB(1024)) -/* Using usleep() makes things noticably slow. */ -#if 0 -#define DELAY(x) usleep(x) -#else -#define DELAY(x) do {;} while (0) -#endif - -/* I830 hooks for the I810 driver setup/probe. */ -extern const OptionInfoRec *I830AvailableOptions(int chipid, int busid); extern Bool intel_init_scrn(ScrnInfoPtr scrn); -/* Symbol lists shared by the i810 and i830 parts. */ -extern int I830EntityIndex; - -#ifdef _I830_H_ -#define PrintErrorState i830_dump_error_state -#define WaitRingFunc I830WaitLpRing -#define RecPtr intel -#else -#define PrintErrorState I810PrintErrorState -#define WaitRingFunc I810WaitLpRing -#define RecPtr pI810 -#endif - -static inline void memset_volatile(volatile void *b, int c, size_t len) -{ - size_t i; - - for (i = 0; i < len; i++) - ((volatile char *)b)[i] = c; -} - -static inline void memcpy_volatile(volatile void *dst, const void *src, - size_t len) -{ - size_t i; - - for (i = 0; i < len; i++) - ((volatile char *)dst)[i] = ((const volatile char *)src)[i]; -} - -/* Memory mapped register access macros */ -#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 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); \ - } \ -} while (0) - -#define OUTREG16(addr, val) do { \ - *(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); \ - } \ -} while (0) - -#define OUTREG(addr, val) do { \ - *(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); \ - } \ -} while (0) - - -#define DEBUG_VERBOSE_ACCEL 0x1 -#define DEBUG_VERBOSE_SYNC 0x2 -#define DEBUG_VERBOSE_VGA 0x4 -#define DEBUG_VERBOSE_RING 0x8 -#define DEBUG_VERBOSE_OUTREG 0x10 -#define DEBUG_VERBOSE_MEMORY 0x20 -#define DEBUG_VERBOSE_CURSOR 0x40 -#define DEBUG_ALWAYS_SYNC 0x80 -#define DEBUG_VERBOSE_DRI 0x100 -#define DEBUG_VERBOSE_BIOS 0x200 - -/* Size of the mmio region. - */ -#define I810_REG_SIZE 0x80000 - -#define GTT_PAGE_SIZE KB(4) -#define PRIMARY_RINGBUFFER_SIZE KB(128) -#define MIN_SCRATCH_BUFFER_SIZE KB(16) -#define MAX_SCRATCH_BUFFER_SIZE KB(64) -#define HWCURSOR_SIZE GTT_PAGE_SIZE -#define HWCURSOR_SIZE_ARGB GTT_PAGE_SIZE * 4 - -/* Use a 64x64 HW cursor */ -#define I810_CURSOR_X 64 -#define I810_CURSOR_Y I810_CURSOR_X - -#define PIPE_NAME(n) ('A' + (n)) - -struct pci_device * -intel_host_bridge (void); - /** * Hints to CreatePixmap to tell the driver how the pixmap is going to be * used. diff --git a/src/intel_display.c b/src/intel_display.c index a974e348..0a80aa84 100644 --- a/src/intel_display.c +++ b/src/intel_display.c @@ -711,8 +711,7 @@ intel_crtc_init(ScrnInfoPtr scrn, struct intel_mode *mode, int num) crtc_id(intel_crtc)); intel_crtc->cursor = drm_intel_bo_alloc(intel->bufmgr, "ARGB cursor", - HWCURSOR_SIZE_ARGB, - GTT_PAGE_SIZE); + 4*64*64, 4096); intel_crtc->crtc = crtc; list_add(&intel_crtc->link, &mode->crtcs); diff --git a/src/intel_driver.c b/src/intel_driver.c index f2770d6c..78f7ce39 100644 --- a/src/intel_driver.c +++ b/src/intel_driver.c @@ -932,7 +932,7 @@ I830ScreenInit(SCREEN_INIT_ARGS_DECL) miDCInitialize(screen, xf86GetPointerScreenFuncs()); xf86DrvMsg(scrn->scrnIndex, X_INFO, "Initializing HW Cursor\n"); - if (!xf86_cursors_init(screen, I810_CURSOR_X, I810_CURSOR_Y, + if (!xf86_cursors_init(screen, 64, 64, (HARDWARE_CURSOR_TRUECOLOR_AT_8BPP | HARDWARE_CURSOR_BIT_ORDER_MSBFIRST | HARDWARE_CURSOR_INVERT_MASK | diff --git a/src/intel_memory.c b/src/intel_memory.c index bfc0e8ca..bb7710f9 100644 --- a/src/intel_memory.c +++ b/src/intel_memory.c @@ -96,7 +96,7 @@ unsigned long intel_get_fence_size(intel_screen_private *intel, unsigned long si if (INTEL_INFO(intel)->gen >= 40 || intel->has_relaxed_fencing) { /* The 965 can have fences at any page boundary. */ - return ALIGN(size, GTT_PAGE_SIZE); + return ALIGN(size, 4096); } else { /* Align the size to a power of two greater than the smallest fence * size. diff --git a/src/intel_module.c b/src/intel_module.c index f8ba1494..a39affbd 100644 --- a/src/intel_module.c +++ b/src/intel_module.c @@ -28,9 +28,7 @@ #include "config.h" #endif -#include <xf86.h> #include <xf86_OSproc.h> -#include <xf86cmap.h> #include <xf86Parser.h> #include <xf86drmMode.h> @@ -159,10 +157,12 @@ SymTabRec *intel_chipsets = (SymTabRec *) _intel_chipsets; { 0x8086, (d), PCI_MATCH_ANY, PCI_MATCH_ANY, 0, 0, (intptr_t)(i) } static const struct pci_id_match intel_device_match[] = { +#if !KMS_ONLY INTEL_DEVICE_MATCH (PCI_CHIP_I810, &intel_i81x_info ), INTEL_DEVICE_MATCH (PCI_CHIP_I810_DC100, &intel_i81x_info ), INTEL_DEVICE_MATCH (PCI_CHIP_I810_E, &intel_i81x_info ), INTEL_DEVICE_MATCH (PCI_CHIP_I815, &intel_i81x_info ), +#endif INTEL_DEVICE_MATCH (PCI_CHIP_I830_M, &intel_i830_info ), INTEL_DEVICE_MATCH (PCI_CHIP_845_G, &intel_i845_info ), diff --git a/src/legacy/i810/i810_driver.c b/src/legacy/i810/i810_driver.c index 6fc17bd0..98216121 100644 --- a/src/legacy/i810/i810_driver.c +++ b/src/legacy/i810/i810_driver.c @@ -142,8 +142,6 @@ static int i810_pitches[] = { }; #endif -int I830EntityIndex = -1; - /* * I810GetRec and I810FreeRec -- * diff --git a/src/sna/sna.h b/src/sna/sna.h index d7fa71bb..03115c22 100644 --- a/src/sna/sna.h +++ b/src/sna/sna.h @@ -289,10 +289,6 @@ extern void sna_mode_wakeup(struct sna *sna); extern void sna_mode_redisplay(struct sna *sna); extern void sna_mode_fini(struct sna *sna); -extern int sna_crtc_id(xf86CrtcPtr crtc); -extern bool sna_crtc_is_bound(struct sna *sna, xf86CrtcPtr crtc); -extern int sna_output_dpms_status(xf86OutputPtr output); - extern int sna_page_flip(struct sna *sna, struct kgem_bo *bo, void *data, @@ -356,9 +352,9 @@ static inline void sna_dri_destroy_window(WindowPtr win) { } static inline void sna_dri_close(struct sna *sna, ScreenPtr pScreen) { } #endif -extern bool sna_crtc_on(xf86CrtcPtr crtc); -int sna_crtc_to_pipe(xf86CrtcPtr crtc); -int sna_crtc_to_plane(xf86CrtcPtr crtc); +extern int sna_crtc_to_pipe(xf86CrtcPtr crtc); +extern int sna_crtc_to_plane(xf86CrtcPtr crtc); +extern int sna_crtc_id(xf86CrtcPtr crtc); CARD32 sna_format_for_depth(int depth); CARD32 sna_render_format_for_depth(int depth); diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c index 0928f6a4..87a69ba9 100644 --- a/src/sna/sna_display.c +++ b/src/sna/sna_display.c @@ -113,21 +113,14 @@ int sna_crtc_id(xf86CrtcPtr crtc) return to_sna_crtc(crtc)->id; } -bool sna_crtc_on(xf86CrtcPtr crtc) -{ - return to_sna_crtc(crtc)->bo != NULL; -} - int sna_crtc_to_pipe(xf86CrtcPtr crtc) { - struct sna_crtc *sna_crtc = to_sna_crtc(crtc); - return sna_crtc->pipe; + return to_sna_crtc(crtc)->pipe; } int sna_crtc_to_plane(xf86CrtcPtr crtc) { - struct sna_crtc *sna_crtc = to_sna_crtc(crtc); - return sna_crtc->plane; + return to_sna_crtc(crtc)->plane; } static unsigned get_fb(struct sna *sna, struct kgem_bo *bo, @@ -465,7 +458,7 @@ mode_to_kmode(struct drm_mode_modeinfo *kmode, DisplayModePtr mode) kmode->name[DRM_DISPLAY_MODE_LEN-1] = 0; } -bool sna_crtc_is_bound(struct sna *sna, xf86CrtcPtr crtc) +static bool sna_crtc_is_bound(struct sna *sna, xf86CrtcPtr crtc) { struct sna_crtc *sna_crtc = to_sna_crtc(crtc); struct drm_mode_crtc mode; @@ -1676,13 +1669,6 @@ sna_output_dpms(xf86OutputPtr output, int dpms) } } -int -sna_output_dpms_status(xf86OutputPtr output) -{ - struct sna_output *sna_output = output->driver_private; - return sna_output->dpms_mode; -} - static bool sna_property_ignore(drmModePropertyPtr prop) { @@ -2579,7 +2565,7 @@ sna_wait_for_scanline(struct sna *sna, int y1, y2, pipe; assert(crtc); - assert(sna_crtc_on(crtc)); + assert(to_sna_crtc(crtc)->bo != NULL); assert(pixmap == sna->front); /* XXX WAIT_EVENT is still causing hangs on SNB */ diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c index 6afeb517..5f237b01 100644 --- a/src/sna/sna_dri.c +++ b/src/sna/sna_dri.c @@ -553,7 +553,6 @@ sna_dri_copy_to_front(struct sna *sna, DrawablePtr draw, RegionPtr region, DBG(("%s: flushing? %d\n", __FUNCTION__, flush)); if (flush) { /* STAT! */ - assert(sna_crtc_is_bound(sna, crtc)); kgem_submit(&sna->kgem); bo = kgem_get_last_request(&sna->kgem); } diff --git a/src/sna/sna_video_textured.c b/src/sna/sna_video_textured.c index 110bb001..2332ce20 100644 --- a/src/sna/sna_video_textured.c +++ b/src/sna/sna_video_textured.c @@ -295,10 +295,8 @@ sna_video_textured_put_image(ScrnInfoPtr scrn, /* Push the frame to the GPU as soon as possible so * we can hit the next vsync. */ - if (flush) { - assert(sna_crtc_is_bound(sna, crtc)); + if (flush) kgem_submit(&sna->kgem); - } return ret; } |