From owner-freebsd-x11@FreeBSD.ORG Mon Oct 27 16:27:58 2014 Return-Path: Delivered-To: x11@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A58A1BFE; Mon, 27 Oct 2014 16:27:58 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3189EE68; Mon, 27 Oct 2014 16:27:57 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id s9RGRrb1026192 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 27 Oct 2014 18:27:53 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua s9RGRrb1026192 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id s9RGRrFd026191; Mon, 27 Oct 2014 18:27:53 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 27 Oct 2014 18:27:53 +0200 From: Konstantin Belousov To: Tijl Coosemans Subject: Re: [rfc] Radeon AGP support patches Message-ID: <20141027162753.GB1877@kib.kiev.ua> References: <20141026162442.1330d4c3@kalimero.tijl.coosemans.org> <20141027141631.GX1877@kib.kiev.ua> <20141027170055.10af15e6@kalimero.tijl.coosemans.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141027170055.10af15e6@kalimero.tijl.coosemans.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: x11@FreeBSD.org, dumbbell@FreeBSD.org X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Oct 2014 16:27:58 -0000 On Mon, Oct 27, 2014 at 05:00:55PM +0100, Tijl Coosemans wrote: > In ttm_agp_bind the ttm->pages array is already populated. These are > the pages that need to be put into the GTT. The patch modifies struct > agp_memory in sys/dev/agp such that ttm->pages can be passed via > agp_bind_memory. Maybe it would be better to add two new functions to > sys/dev/agp/agp.c: agp_bind_pages and agp_unbind_pages. These would > take a vm_page_t array as argument and bind/unbind the pages directly > in the GTT. There's no need for ttm_agp_bind to call agp_alloc_memory > then and struct agp_memory would not be involved at all. Does that > sound better? Yes, this approach is much better IMO. Having discriminated storage for the bound pages is too ugly; was the whole code audited for correctness after the change ?