Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Sat, 14 Dec 2002 00:17:01 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Sat, 14 Dec 2002 00:17:01 -0500 Received: from packet.digeo.com ([12.110.80.53]:59571 "EHLO packet.digeo.com") by vger.kernel.org with ESMTP id ; Sat, 14 Dec 2002 00:17:00 -0500 Message-ID: <3DFAC09A.C5642879@digeo.com> Date: Fri, 13 Dec 2002 21:24:42 -0800 From: Andrew Morton X-Mailer: Mozilla 4.79 [en] (X11; U; Linux 2.5.46 i686) X-Accept-Language: en MIME-Version: 1.0 To: Alan Cox CC: Jason Howard , Linux Kernel Mailing List Subject: Re: DMA from SCSI controller to PCI frame buffer memory. References: <1039806910.21196.29.camel@bmagic.spectsoft.com> <1039837312.25121.115.camel@irongate.swansea.linux.org.uk> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 14 Dec 2002 05:24:43.0446 (UTC) FILETIME=[1BC5AD60:01C2A331] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1005 Lines: 26 Alan Cox wrote: > > On Fri, 2002-12-13 at 19:15, Jason Howard wrote: > > Hello All, > > > > I am wondering if the functionality exists in the Linux kernel to DMA > > from a SCSI controller directly into frame buffer memory of a PCI video > > card? Is there a standard method for this (similar to sendfile) or will > > it require some hacking? > > In theory you can mmap the frame buffer memory, then do O_DIRECT I/O > into it. In practice it will buffer (I hope it still does). An O_DIRECT disk read into a mmapped device region will fail (if it doesn't, it'll oops ;)). O_DIRECT requires valid pages inside mem_map[]. See the `vma->vm_flags & VM_IO' test in get_user_pages(), and the VALID_PAGE() test in get_page_map(). Hacking is required to do this. - 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/