From patchwork Mon Jan 17 04:30:09 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Miller X-Patchwork-Id: 79121 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 879A5B708B for ; Mon, 17 Jan 2011 15:29:37 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752204Ab1AQE3g (ORCPT ); Sun, 16 Jan 2011 23:29:36 -0500 Received: from 74-93-104-97-Washington.hfc.comcastbusiness.net ([74.93.104.97]:37821 "EHLO sunset.davemloft.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752015Ab1AQE3f (ORCPT ); Sun, 16 Jan 2011 23:29:35 -0500 Received: from localhost (localhost [127.0.0.1]) by sunset.davemloft.net (Postfix) with ESMTP id 30AE424C087; Sun, 16 Jan 2011 20:30:09 -0800 (PST) Date: Sun, 16 Jan 2011 20:30:09 -0800 (PST) Message-Id: <20110116.203009.28806331.davem@davemloft.net> To: alex.buell@munted.org.uk Cc: linux-fbdev@vger.kernel.org, sparclinux@vger.kernel.org Subject: Re: [PATCH 0/22] Make SVGA oriented FBs work on multi-domain PCI From: David Miller In-Reply-To: <1294875782.13868.20.camel@lithium> References: <20110111.202719.221588364.davem@davemloft.net> <20110111.205103.266092678.davem@davemloft.net> <1294875782.13868.20.camel@lithium> X-Mailer: Mew version 6.3 on Emacs 23.1 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org From: Alex Buell Date: Wed, 12 Jan 2011 23:43:02 +0000 > Jan 12 21:53:27 sodium pci@8,700000: PCI Error, primary error type[Master Abort] > Jan 12 21:53:27 sodium kernel: /pci@8,700pci@8,pci@8,700000: PCter Aborpci@8,700000: PCI Error, primary error type[Master Abort] > Jan 12 21:53:27 sodium kernel: /pci@8,700000: bytemask[0080] was_block(0) space(Memory) > Jan 12 21:53:27 sodium kernel: /pci@8,700000: PCI AFAR [00000000000a00a8] > Jan 12 21:53:27 sodium kernel: /pci@8,700000: PCI Secondary errors [(Master Abort)] > Jan 12 21:53:27 sodium kernel: /pci@8,700000: PCI Error, primary error type[Master Abort] The address we're using seems right, but for some reason the device is giving a master abort when we try to access the legacy VGA memory. I did a little bit of research, and there is a bit in the VGA I/O register set that needs to be set otherwise the VGA card will not respond to video memory accesses. Can you test to see if the following patch makes a difference? --- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/video/s3fb.c b/drivers/video/s3fb.c index 4b8f215..00152f6 100644 --- a/drivers/video/s3fb.c +++ b/drivers/video/s3fb.c @@ -1053,6 +1053,13 @@ static int __devinit s3_pci_probe(struct pci_dev *dev, const struct pci_device_i vga_wcrt(par->state.vgabase, 0x38, cr38); vga_wcrt(par->state.vgabase, 0x39, cr39); + /* Ensure that the card will respond to legacy VGA memory + * accesses. + */ + regval = vga_r(par->state.vgabase, VGA_MIS_R); + regval |= VGA_MIS_ENB_MEM_ACCESS; + vga_w(par->state.vgabase, VGA_MIS_W, regval); + strcpy(info->fix.id, s3_names [par->chip]); info->fix.mmio_start = 0; info->fix.mmio_len = 0;