From patchwork Thu Feb 18 22:33:49 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: omar ramirez X-Patchwork-Id: 80466 X-Patchwork-Delegate: omar.ramirez@ti.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o1IMLDn0007703 for ; Thu, 18 Feb 2010 22:21:14 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758728Ab0BRWVM (ORCPT ); Thu, 18 Feb 2010 17:21:12 -0500 Received: from arroyo.ext.ti.com ([192.94.94.40]:49016 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755012Ab0BRWVM (ORCPT ); Thu, 18 Feb 2010 17:21:12 -0500 Received: from dlep36.itg.ti.com ([157.170.170.91]) by arroyo.ext.ti.com (8.13.7/8.13.7) with ESMTP id o1IML9ch027326 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 18 Feb 2010 16:21:09 -0600 Received: from legion.dal.design.ti.com (localhost [127.0.0.1]) by dlep36.itg.ti.com (8.13.8/8.13.8) with ESMTP id o1IML8g4007614; Thu, 18 Feb 2010 16:21:08 -0600 (CST) Received: from Matrix (matrix.am.dhcp.ti.com [128.247.75.166]) by legion.dal.design.ti.com (8.11.7p1+Sun/8.11.7) with ESMTP id o1IML8Z24156; Thu, 18 Feb 2010 16:21:08 -0600 (CST) Received: by Matrix (Postfix, from userid 1003) id 60E5F410601; Thu, 18 Feb 2010 16:33:50 -0600 (CST) From: Omar Ramirez Luna To: linux-omap Cc: Ameya Palande , Hiroshi Doyu , Felipe Contreras , Nishanth Menon , Omar Ramirez Luna Subject: [RFC][PATCH 2/2] DSPBRIDGE: Distinguish between read or write buffers Date: Thu, 18 Feb 2010 16:33:49 -0600 Message-Id: <1266532429-30927-3-git-send-email-omar.ramirez@ti.com> X-Mailer: git-send-email 1.5.4.3 In-Reply-To: <1266532429-30927-2-git-send-email-omar.ramirez@ti.com> References: <1266532429-30927-1-git-send-email-omar.ramirez@ti.com> <1266532429-30927-2-git-send-email-omar.ramirez@ti.com> Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Thu, 18 Feb 2010 22:21:14 +0000 (UTC) diff --git a/drivers/dsp/bridge/rmgr/proc.c b/drivers/dsp/bridge/rmgr/proc.c index 78a31ef..4fe20ed 100644 --- a/drivers/dsp/bridge/rmgr/proc.c +++ b/drivers/dsp/bridge/rmgr/proc.c @@ -71,6 +71,12 @@ #define DSP_CACHE_LINE 128 +#define BUFMODE_MASK (3 << 14) + +/* Buffer modes from DSP perspective */ +#define RBUF 0x1 /* Input buffer */ +#define WBUF 0x2 /* Output Buffer */ + extern char *iva_img; /* ----------------------------------- Globals */ @@ -1297,11 +1303,13 @@ DSP_STATUS PROC_Map(DSP_HPROCESSOR hProcessor, void *pMpuAddr, u32 ulSize, pReqAddr, ulMapAttr, ppMapAddr); #ifdef CONFIG_BRIDGE_CACHE_LINE_CHECK - if (!IS_ALIGNED((u32)pMpuAddr, DSP_CACHE_LINE) || - !IS_ALIGNED(size, DSP_CACHE_LINE)) { - pr_err("%s: not aligned: 0x%x (%d)\n", __func__, + if ((ulMapAttr & BUFMODE_MASK) != RBUF) { + if (!IS_ALIGNED((u32)pMpuAddr, DSP_CACHE_LINE) || + !IS_ALIGNED(ulSize, DSP_CACHE_LINE)) { + pr_err("%s: not aligned: 0x%x (%d)\n", __func__, (u32)pMpuAddr, ulSize); - return -EFAULT; + return -EFAULT; + } } #endif