From owner-freebsd-hackers@FreeBSD.ORG Tue Feb 19 18:57:59 2013 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id EA92795E; Tue, 19 Feb 2013 18:57:59 +0000 (UTC) (envelope-from phileas-fogg@mail.ru) Received: from smtp50.i.mail.ru (smtp50.i.mail.ru [94.100.177.110]) by mx1.freebsd.org (Postfix) with ESMTP id 51641EE8; Tue, 19 Feb 2013 18:57:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References:Subject:CC:To:MIME-Version:From:Date:Message-ID; bh=DtTmWatqmGwu4v4j6aqrKyaAnVSLmnQfNuwERIectYs=; b=E1ZPrl7iP8LSDaMZyh7UsMjQcLORluWgEG5oFo6Hgwnfh3wWPrft2/IerskXzw4DjmRVzYhmKff+2gUKApnNt5RRZs14CiZmo//nOoHN6/rvoBlIslXMRF2jJkOEDU72; Received: from [46.5.21.251] (port=65531 helo=[192.168.1.76]) by smtp50.i.mail.ru with esmtpa (envelope-from ) id 1U7sNz-0005L6-Pi; Tue, 19 Feb 2013 22:57:52 +0400 Message-ID: <5123D941.2050906@mail.ru> Date: Tue, 19 Feb 2013 20:57:53 +0100 From: Phileas Fogg User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0 SeaMonkey/2.15.2 MIME-Version: 1.0 To: Oleksandr Tymoshenko Subject: Re: Scrolling in framebuffer syscons References: <511F879C.3030801@mail.ru> <51217854.8000508@freebsd.org> In-Reply-To: <51217854.8000508@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam: Not detected X-Mras: Ok Cc: freebsd-hackers@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 18:58:00 -0000 Oleksandr Tymoshenko wrote: > On 2/16/2013 5:20 AM, Phileas Fogg wrote: >> Hi, >> >> i have a question about how the scrolling in a framebuffer syscons works. >> I'm trying to speed up the syscons on the PS3 console which is a simple >> framebuffer syscons. >> It uses the renderer _gfbrndrsw_ (see dev/syscons/scgfbrndr.c) to draw into >> the framebuffer of the PS3 console. >> The _gfb_draw_ function implements a simple scrolling that moves data from >> bottom to top with _vidd_copy_. >> And that's where i have a problem because _vidd_copy_ calls the function >> _ps3fb_copy_ (see powerpc/ps3/ps3_syscons.c). >> But the function _ps3fb_copy_ is NOT implemented yet. So, the question is how >> does the scrolling work then ? >> I took a look at other syscons implementation based on a framebuffer, and >> almost all of them do NOT implement _vidd_copy_ >> function, e.g. XBOX syscons. > > I think driver re-renders whole screen character by character. That's why no > copy operation is invoked. > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" You are right, syscons is using the teken terminal emulator which implements scrolling in software. The vidd_copy callback is never called. To optimize the PS3 syscons driver, i have to speed up vidd_puts and vidd_putc callbacks. regards