Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752282AbbDPB1W (ORCPT ); Wed, 15 Apr 2015 21:27:22 -0400 Received: from proofpoint-cluster.metrocast.net ([65.175.128.136]:37268 "EHLO proofpoint-cluster.metrocast.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751373AbbDPB1Q (ORCPT ); Wed, 15 Apr 2015 21:27:16 -0400 Message-ID: <1429144398.1899.73.camel@palomino.walls.org> Subject: Re: ioremap_uc() followed by set_memory_wc() - burrying MTRR From: Andy Walls To: Andy Lutomirski Cc: "Luis R. Rodriguez" , linux-rdma@vger.kernel.org, Toshi Kani , "H. Peter Anvin" , Ingo Molnar , "linux-kernel@vger.kernel.org" , Hal Rosenstock , Sean Hefty , Suresh Siddha , Rickard Strandqvist , Mike Marciniszyn , Roland Dreier , Juergen Gross , Mauro Carvalho Chehab , Borislav Petkov , Mel Gorman , Vlastimil Babka , Davidlohr Bueso , Dave Hansen , Jean-Christophe Plagniol-Villard , Thomas Gleixner , Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= , Linux Fbdev development list , linux-media@vger.kernel.org, X86 ML Date: Wed, 15 Apr 2015 20:33:18 -0400 In-Reply-To: References: <1429138212.1899.34.camel@palomino.walls.org> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.4.4 (3.4.4-2.fc17) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.13.68,1.0.33,0.0.0000 definitions=2015-04-16_01:2015-04-15,2015-04-16,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=1 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1402240000 definitions=main-1504160012 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2195 Lines: 43 On Wed, 2015-04-15 at 16:52 -0700, Andy Lutomirski wrote: > On Wed, Apr 15, 2015 at 3:50 PM, Andy Walls wrote: > > On Wed, 2015-04-15 at 13:42 -0700, Andy Lutomirski wrote: > >> On Mon, Apr 13, 2015 at 10:49 AM, Luis R. Rodriguez wrote: > >> > >> > c) ivtv: the driver does not have the PCI space mapped out separately, and > >> > in fact it actually does not do the math for the framebuffer, instead it lets > >> > the device's own CPU do that and assume where its at, see > >> > ivtvfb_get_framebuffer() and CX2341X_OSD_GET_FRAMEBUFFER, it has a get > >> > but not a setter. Its not clear if the firmware would make a split easy. > >> > We'd need ioremap_ucminus() here too and __arch_phys_wc_add(). > >> > > >> > >> IMO this should be conceptually easy to split. Once we get the > >> framebuffer address, just unmap it (or don't prematurely map it) and > >> then ioremap the thing. > > > > Not so easy. The main ivtv driver has already set up the PCI device and > > done the mapping for the MPEG-2 decoder/video output engine. The video > > decoder/output device nodes might already be open by user space calling > > into the main driver, before the ivtvfb module is even loaded. > > Surely the MPEG-2 decoder/video engine won't overlap the framebuffer, > though. Am I missing something? ivtvfb is stealing the decoders' OSD for use as a framebuffer. The decoder video output memory doesn't overlap the decoder OSD memory, but there is a functional overlap. ivtv driver video output device nodes can manipulate the OSD that ivtvfb is stealing. It would be a dumb thing for the user to want to use ivtvfb, and to also manipulate the OSD via the video output device nodes at the same time, for anything other than setting up the TV video standard. However the current ivtv driver code doesn't prevent the OSD from being manipulated by the video output device nodes when ivtvfb is in use. -Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/