From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: [GIT PULL] devel/pat + devel/kms.fixes-0.5 Date: Fri, 06 Aug 2010 09:03:01 -0700 Message-ID: <4C5C3235.3060208@goop.org> References: <20100806140609.GA3367@phenom.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20100806140609.GA3367@phenom.dumpdata.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Konrad Rzeszutek Wilk Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On 08/06/2010 07:06 AM, Konrad Rzeszutek Wilk wrote: > Hey Jeremy, > > Please pull from devel/pat (based off your xen/dom0/core tree) which > has one patch: > > Konrad Rzeszutek Wilk (1): > xen/pat: make pte_flags(x) a pvops function. > > which is neccessary for the drivers/gpu/drm/radeon driver to work > properly with AGP based cards (which look to be the only ones that > try to set WC on pages). Hm. I introduced pte_flags() so that code which wants to get the flags but not the pfn can do so without needing to make a pvops call, which significantly reduces the number of pvops calls in the mm code. However, the original rationale for making it non-pvops - nobody fiddles with pte flags - is no longer true with the PAT translation. And it is pretty ugly that pte_val and pte_flags will return different flags for a pte. But I'm still leery about imposing the cost of making pte_flags a pvop. Why is it needed? Could the AGP/Radeon code use pte_val to get the flags values it wants? > Also please pull from devel/kms.fixes-05 (based off your xen/dom0/agp) > which has the following patches: > > Daniel De Graaf (1): > fb: propagate VM_IO to VMA. > > Konrad Rzeszutek Wilk (10): > ttm: When TTM_PAGE_FLAG_DMA32 allocate pages under 4GB under Xen. > ttm: Set VM_IO only on pages with TTM_MEMTYPE_FLAG_NEEDS_IOREMAP set. > agp: Use Xen back-door to get bus address for legacy code. > agp: Program the GART with the real physical address under Xen. > agp: If _GFP_DMA_32 flag is set enforce pages to be under 4GB under Xen. > agp-backend: Use Xen back-door to get bus address for scratch page. > intel-agp: Warn when !USE_PCI_DMA_API and inserting bogus bus addresses. > intel-agp: Use Xen back-door to get page's physical address for i8[1,3]0 > amd64-agp:Use Xen back-door to get page's physical address for AMD64 chipsets. > ttm: Change VMA flags if they != to the TTM flags. > > Some of them are marked as not for upstream consumption, while some of > the other are OK (and Daniel's is upstream). Those patches from both > branches make it possible to have Xorg working with the following > graphics cards on the PVOPS kernel: I assume this depends on the pte_flags change? > RIVA TNT2 Pro > GeForce 1 256 > GeForce 4 Ti 4200 > GeForce 6150 > GeForce 6200 > GeForce 7300 > GeForce 8600 GT > Radeon R100 QD (7200) > Radeon RV100QY (7000) > Radeon HD 3200 > Radeon HD 3450 > Radeon RV710 [Radeon HD 4350] > Radeon ES1000 > ICH5 82865G > ICH7 82G33/G31G > ICH8 82Q963/Q965 > Matrox G450 > XGI Z7/Z9 (XG20 core) > > Testing was carried out using Fedora Core 13, Fedora Core 11, and Ubuntu > Lucid 10.04 with the PVOPS kernel. > > The details are located at http://wiki.xensource.com/xenwiki/XenPVOPSDRM > For the NVidia cards I backported the 2.6.34 nouvoua driver in 2.6.32 > and used that - it is pretty stable and even the experimental Gallium > drivers (3D) work well. J