From patchwork Mon Dec 7 14:20:06 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Magnus Damm X-Patchwork-Id: 65528 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id nB7EPlXd000814 for ; Mon, 7 Dec 2009 14:25:47 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935145AbZLGOZk (ORCPT ); Mon, 7 Dec 2009 09:25:40 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S935157AbZLGOZk (ORCPT ); Mon, 7 Dec 2009 09:25:40 -0500 Received: from mail-yx0-f187.google.com ([209.85.210.187]:51408 "EHLO mail-yx0-f187.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935145AbZLGOZj (ORCPT ); Mon, 7 Dec 2009 09:25:39 -0500 Received: by yxe17 with SMTP id 17so3908315yxe.33 for ; Mon, 07 Dec 2009 06:25:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:date:message-id :subject; bh=QZKpjo6wf05AJGxkjx81ST4cSH6TmPWVkBHYca52ZxE=; b=v2zA6PA+L4EtXeZnjkZNd8bgzIJPxvAxaUG6QrxKjKR+F6Jlbuw+iEg5jh0QqWYcUT JDu5nk6coLtvmTapoMHIup2WJIJpgaJdx14WfDF/J516adI17p3XQy8F/uxTbWFAWMxg BDBjzKIC/X8FbPJpFAukcXNmJnSooNxZo1sNg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:date:message-id:subject; b=GNf+muxspF89tBnKsHOgQ+kG9lDr5J744+XyLK/8pV3DY0HguC9pHtTdyf+UapaMPd EGkO0cj8jNOKUN1cTpyHqQjxXx4YQnVAL4WmnRIWlJCzdEPQRqPumTAu5Tum4nxzEC90 dIFnLBw0aI65JDe70wqDDBrpik001V9wX3o0Y= Received: by 10.150.9.18 with SMTP id 18mr11478468ybi.164.1260195945808; Mon, 07 Dec 2009 06:25:45 -0800 (PST) Received: from rxone.opensource.se (49.14.32.202.bf.2iij.net [202.32.14.49]) by mx.google.com with ESMTPS id 15sm2782113gxk.0.2009.12.07.06.25.43 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 07 Dec 2009 06:25:44 -0800 (PST) From: Magnus Damm To: linux-sh@vger.kernel.org Cc: Magnus Damm , lethal@linux-sh.org Date: Mon, 07 Dec 2009 23:20:06 +0900 Message-Id: <20091207142006.6718.47399.sendpatchset@rxone.opensource.se> Subject: [PATCH] sh: add a start_transfer() callback to the LCDC driver Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org --- 0001/drivers/video/sh_mobile_lcdcfb.c +++ work/drivers/video/sh_mobile_lcdcfb.c 2009-12-07 18:34:46.000000000 +0900 @@ -281,6 +281,7 @@ static void sh_mobile_lcdc_deferred_io(s struct list_head *pagelist) { struct sh_mobile_lcdc_chan *ch = info->par; + struct sh_mobile_lcdc_board_cfg *bcfg = &ch->cfg.board_cfg; /* enable clocks before accessing hardware */ sh_mobile_lcdc_clk_on(ch->lcdc); @@ -305,10 +306,17 @@ static void sh_mobile_lcdc_deferred_io(s /* trigger panel update */ dma_map_sg(info->dev, ch->sglist, nr_pages, DMA_TO_DEVICE); + if (bcfg->start_transfer) + bcfg->start_transfer(bcfg->board_data, ch, + &sh_mobile_lcdc_sys_bus_ops); lcdc_write_chan(ch, LDSM2R, 1); dma_unmap_sg(info->dev, ch->sglist, nr_pages, DMA_TO_DEVICE); - } else + } else { + if (bcfg->start_transfer) + bcfg->start_transfer(bcfg->board_data, ch, + &sh_mobile_lcdc_sys_bus_ops); lcdc_write_chan(ch, LDSM2R, 1); + } } static void sh_mobile_lcdc_deferred_io_touch(struct fb_info *info) --- 0001/include/video/sh_mobile_lcdc.h +++ work/include/video/sh_mobile_lcdc.h 2009-12-07 18:34:46.000000000 +0900 @@ -50,6 +50,8 @@ struct sh_mobile_lcdc_board_cfg { void *board_data; int (*setup_sys)(void *board_data, void *sys_ops_handle, struct sh_mobile_lcdc_sys_bus_ops *sys_ops); + void (*start_transfer)(void *board_data, void *sys_ops_handle, + struct sh_mobile_lcdc_sys_bus_ops *sys_ops); void (*display_on)(void *board_data); void (*display_off)(void *board_data); };