Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e29971f9 authored by Dave Airlie's avatar Dave Airlie Committed by Linus Torvalds
Browse files

[PATCH] drm: another mga bug



The wrong state emission routines were being called for G550, and
consistent maps weren't correctly mapped...

Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 5d965515
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -148,7 +148,8 @@ static __inline__ struct page *drm_do_vm_shm_nopage(struct vm_area_struct *vma,

	offset	 = address - vma->vm_start;
	i = (unsigned long)map->handle + offset;
	page = vmalloc_to_page((void *)i);
	page = (map->type == _DRM_CONSISTENT) ?
		virt_to_page((void *)i) : vmalloc_to_page((void *)i);
	if (!page)
		return NOPAGE_OOM;
	get_page(page);
+1 −1
Original line number Diff line number Diff line
@@ -227,7 +227,7 @@ static inline u32 _MGA_READ(u32 *addr)
#define MGA_EMIT_STATE( dev_priv, dirty )				\
do {									\
	if ( (dirty) & ~MGA_UPLOAD_CLIPRECTS ) {			\
		if ( dev_priv->chipset == MGA_CARD_TYPE_G400 ) {	\
		if ( dev_priv->chipset >= MGA_CARD_TYPE_G400 ) {	\
			mga_g400_emit_state( dev_priv );		\
		} else {						\
			mga_g200_emit_state( dev_priv );		\
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ static void mga_emit_clip_rect( drm_mga_private_t *dev_priv,

	/* Force reset of DWGCTL on G400 (eliminates clip disable bit).
	 */
	if (dev_priv->chipset == MGA_CARD_TYPE_G400) {
	if (dev_priv->chipset >= MGA_CARD_TYPE_G400) {
		DMA_BLOCK(MGA_DWGCTL, ctx->dwgctl,
			  MGA_LEN + MGA_EXEC, 0x80000000,
			  MGA_DWGCTL, ctx->dwgctl,