From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v1 09/47] vidoe: fbdev: atyfb: remove and fix MTRR MMIO "hole" work around Date: Fri, 27 Mar 2015 10:37:04 +0200 Message-ID: <20150327083703.GB22926__20505.9626409367$1427445597$gmane$org@sci.fi> References: <1426893517-2511-1-git-send-email-mcgrof@do-not-panic.com> <1426893517-2511-10-git-send-email-mcgrof@do-not-panic.com> <20150321091514.GA22926@sci.fi> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1YbPlR-00072e-1e for xen-devel@lists.xenproject.org; Fri, 27 Mar 2015 08:37:13 +0000 Content-Disposition: inline In-Reply-To: <20150321091514.GA22926@sci.fi> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: "Luis R. Rodriguez" , luto@amacapital.net, mingo@redhat.com, tglx@linutronix.de, hpa@zytor.com, jgross@suse.com, JBeulich@suse.com, bp@suse.de, suresh.b.siddha@intel.com, venkatesh.pallipadi@intel.com, airlied@redhat.com, linux-kernel@vger.kernel.org, linux-fbdev@vger.kernel.org, x86@kernel.org, xen-devel@lists.xenproject.org, "Luis R. Rodriguez" , Ingo Molnar , Linus Torvalds , Daniel Vetter , Antonino Daplas , Jean-Christophe Plagniol-Villard , Tomi Valkeinen List-Id: xen-devel@lists.xenproject.org On Sat, Mar 21, 2015 at 11:15:14AM +0200, Ville Syrj=E4l=E4 wrote: > On Fri, Mar 20, 2015 at 04:17:59PM -0700, Luis R. Rodriguez wrote: > > diff --git a/drivers/video/fbdev/aty/atyfb_base.c b/drivers/video/fbdev= /aty/atyfb_base.c > > index 8025624..8875e56 100644 > > --- a/drivers/video/fbdev/aty/atyfb_base.c > > +++ b/drivers/video/fbdev/aty/atyfb_base.c > > @@ -2630,21 +2630,10 @@ static int aty_init(struct fb_info *info) > > = > > #ifdef CONFIG_MTRR > > par->mtrr_aper =3D -1; > > - par->mtrr_reg =3D -1; > > if (!nomtrr) { > > - /* Cover the whole resource. */ > > - par->mtrr_aper =3D mtrr_add(par->res_start, par->res_size, > > + par->mtrr_aper =3D mtrr_add(info->fix.smem_start, > > + info->fix.smem_len, > > MTRR_TYPE_WRCOMB, 1); > = > MTRRs need power of two size, so how is this supposed to work? Still waiting for an answer... > = > > - if (par->mtrr_aper >=3D 0 && !par->aux_start) { > > - /* Make a hole for mmio. */ > > - par->mtrr_reg =3D mtrr_add(par->res_start + 0x800000 - > > - GUI_RESERVE, GUI_RESERVE, > > - MTRR_TYPE_UNCACHABLE, 1); > > - if (par->mtrr_reg < 0) { > > - mtrr_del(par->mtrr_aper, 0, 0); > > - par->mtrr_aper =3D -1; > > - } > > - } > > } > > #endif > > = > > @@ -2776,10 +2765,6 @@ aty_init_exit: > > par->pll_ops->set_pll(info, &par->saved_pll); > > = > > #ifdef CONFIG_MTRR > > - if (par->mtrr_reg >=3D 0) { > > - mtrr_del(par->mtrr_reg, 0, 0); > > - par->mtrr_reg =3D -1; > > - } > > if (par->mtrr_aper >=3D 0) { > > mtrr_del(par->mtrr_aper, 0, 0); > > par->mtrr_aper =3D -1; > > @@ -3466,7 +3451,7 @@ static int atyfb_setup_generic(struct pci_dev *pd= ev, struct fb_info *info, > > } > > = > > info->fix.mmio_start =3D raddr; > > - par->ati_regbase =3D ioremap(info->fix.mmio_start, 0x1000); > > + par->ati_regbase =3D ioremap_nocache(info->fix.mmio_start, 0x1000); > > if (par->ati_regbase =3D=3D NULL) > > return -ENOMEM; > > = > > @@ -3491,6 +3476,8 @@ static int atyfb_setup_generic(struct pci_dev *pd= ev, struct fb_info *info, > > info->fix.smem_start =3D addr; > > info->fix.smem_len =3D 0x800000; > > = > > + aty_fudge_framebuffer_len(info); > > + > > info->screen_base =3D ioremap(info->fix.smem_start, info->fix.smem_le= n); > > if (info->screen_base =3D=3D NULL) { > > ret =3D -ENOMEM; > > @@ -3563,6 +3550,7 @@ static int atyfb_pci_probe(struct pci_dev *pdev, > > return -ENOMEM; > > } > > par =3D info->par; > > + par->bus_type =3D PCI; > > info->fix =3D atyfb_fix; > > info->device =3D &pdev->dev; > > par->pci_id =3D pdev->device; > > @@ -3732,10 +3720,6 @@ static void atyfb_remove(struct fb_info *info) > > #endif > > = > > #ifdef CONFIG_MTRR > > - if (par->mtrr_reg >=3D 0) { > > - mtrr_del(par->mtrr_reg, 0, 0); > > - par->mtrr_reg =3D -1; > > - } > > if (par->mtrr_aper >=3D 0) { > > mtrr_del(par->mtrr_aper, 0, 0); > > par->mtrr_aper =3D -1; > > -- = > > 2.3.2.209.gd67f9d5.dirty > > = > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-fbdev" = in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > = > -- = > Ville Syrj=E4l=E4 > syrjala@sci.fi > http://www.sci.fi/~syrjala/ -- = Ville Syrj=E4l=E4 syrjala@sci.fi http://www.sci.fi/~syrjala/