From patchwork Wed Mar 18 01:23:05 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felipe Contreras X-Patchwork-Id: 12724 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 n2I1PAa3029102 for ; Wed, 18 Mar 2009 01:25:12 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756568AbZCRBY1 (ORCPT ); Tue, 17 Mar 2009 21:24:27 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756301AbZCRBY1 (ORCPT ); Tue, 17 Mar 2009 21:24:27 -0400 Received: from mail-bw0-f169.google.com ([209.85.218.169]:49404 "EHLO mail-bw0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756568AbZCRBY0 (ORCPT ); Tue, 17 Mar 2009 21:24:26 -0400 Received: by bwz17 with SMTP id 17so321651bwz.37 for ; Tue, 17 Mar 2009 18:24:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer:in-reply-to:references; bh=x2uzQMTz4qebDtOcHzfoNPtNzY+kMFAy7nDC4i7tp/I=; b=nz9XfoVu56fZQTKU7iJuQ307oWAWQ/JepKGr6YHiIX4yrJa5snPoCfZV/TNzJzGcgv cqo3tCbRHEgczXoKHQAvFEIpBCiSAqHWbG0TfgLZ0o4XLwnKPD3WPJR6yd0ZxNVi5gCT QWzF57TsmCpVqatxFTCcCM0kfPZMFh11J8pEk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=Rlrq37sm3wEtO+wvxD/uEiZqmaXKiDHgJVfy7ZASBzgXBRM+diLnGeprWjtS0FW9s6 YUFtIfznlZXb50009ZsKKsDF67iLnWP4dWCvuHQSEhtcCiptKoiB7witpKytRtTBaRUj WnhhNQdZMiyamjbKg1Fv/SBmioxWOF24kOZJM= Received: by 10.204.70.135 with SMTP id d7mr213591bkj.87.1237339463154; Tue, 17 Mar 2009 18:24:23 -0700 (PDT) Received: from localhost (a91-153-251-222.elisa-laajakaista.fi [91.153.251.222]) by mx.google.com with ESMTPS id z15sm244350fkz.31.2009.03.17.18.24.22 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 17 Mar 2009 18:24:22 -0700 (PDT) From: Felipe Contreras To: linux-omap@vger.kernel.org Cc: Hari Kanigeri , Hiroshi DOYU , Ameya Palande , Fernando Guzman Lugo , Felipe Contreras Subject: [PATCH A 09/15] tidspbridge: cleanup and remove HW_MBOX_IsFull Date: Wed, 18 Mar 2009 03:23:05 +0200 Message-Id: <1237339391-20543-10-git-send-email-felipe.contreras@gmail.com> X-Mailer: git-send-email 1.6.2.1.287.g9a8be In-Reply-To: <1237339391-20543-9-git-send-email-felipe.contreras@gmail.com> References: <1237339391-20543-1-git-send-email-felipe.contreras@gmail.com> <1237339391-20543-2-git-send-email-felipe.contreras@gmail.com> <1237339391-20543-3-git-send-email-felipe.contreras@gmail.com> <1237339391-20543-4-git-send-email-felipe.contreras@gmail.com> <1237339391-20543-5-git-send-email-felipe.contreras@gmail.com> <1237339391-20543-6-git-send-email-felipe.contreras@gmail.com> <1237339391-20543-7-git-send-email-felipe.contreras@gmail.com> <1237339391-20543-8-git-send-email-felipe.contreras@gmail.com> <1237339391-20543-9-git-send-email-felipe.contreras@gmail.com> Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org From: Felipe Contreras HW_MBOX_IsFull has many convoluted macros and is used only once. Clean it up so it's easier to see what it's actually doing. Signed-off-by: Felipe Contreras --- drivers/dsp/bridge/hw/hw_mbox.c | 25 ------------------------- drivers/dsp/bridge/hw/hw_mbox.h | 35 ----------------------------------- drivers/dsp/bridge/wmd/tiomap_sm.c | 25 +++++++++++++------------ 3 files changed, 13 insertions(+), 72 deletions(-) diff --git a/drivers/dsp/bridge/hw/hw_mbox.c b/drivers/dsp/bridge/hw/hw_mbox.c index 2c14ade..31b890a 100644 --- a/drivers/dsp/bridge/hw/hw_mbox.c +++ b/drivers/dsp/bridge/hw/hw_mbox.c @@ -104,31 +104,6 @@ HW_STATUS HW_MBOX_MsgWrite(const u32 baseAddress, const HW_MBOX_Id_t mailBoxId, return status; } -/* Reads the full status register for mailbox. */ -HW_STATUS HW_MBOX_IsFull(const u32 baseAddress, const HW_MBOX_Id_t mailBoxId, - u32 *const pIsFull) -{ - HW_STATUS status = RET_OK; - u32 fullStatus; - - /* Check input parameters */ - CHECK_INPUT_PARAM(baseAddress, 0, RET_BAD_NULL_PARAM, RES_MBOX_BASE + - RES_INVALID_INPUT_PARAM); - CHECK_INPUT_PARAM(pIsFull, NULL, RET_BAD_NULL_PARAM, RES_MBOX_BASE + - RES_INVALID_INPUT_PARAM); - CHECK_INPUT_RANGE_MIN0(mailBoxId, HW_MBOX_ID_MAX, RET_INVALID_ID, - RES_MBOX_BASE + RES_INVALID_INPUT_PARAM); - - /* read the is full status parameter for Mailbox */ - fullStatus = MLBMAILBOX_FIFOSTATUS___0_15FifoFullMBmRead32(baseAddress, - (u32)mailBoxId); - - /* fill in return parameter */ - *pIsFull = (fullStatus & 0xFF); - - return status; -} - /* Gets number of messages in a specified mailbox. */ HW_STATUS HW_MBOX_NumMsgGet(const u32 baseAddress, const HW_MBOX_Id_t mailBoxId, u32 *const pNumMsg) diff --git a/drivers/dsp/bridge/hw/hw_mbox.h b/drivers/dsp/bridge/hw/hw_mbox.h index 225fb40..d2981d3 100644 --- a/drivers/dsp/bridge/hw/hw_mbox.h +++ b/drivers/dsp/bridge/hw/hw_mbox.h @@ -130,41 +130,6 @@ extern HW_STATUS HW_MBOX_MsgWrite( ); /* -* FUNCTION : HW_MBOX_IsFull -* -* INPUTS: -* -* Identifier : baseAddress -* Type : const u32 -* Description : Base Address of instance of Mailbox module -* -* Identifier : mailBoxId -* Type : const HW_MBOX_Id_t -* Description : Mail Box Sub module Id to check -* -* OUTPUTS: -* -* Identifier : pIsFull -* Type : u32 *const -* Description : false means mail box not Full -* true means mailbox full. -* -* RETURNS: -* -* Type : ReturnCode_t -* Description : RET_OK No errors occured -* RET_BAD_NULL_PARAM Address/pointer Paramater was set to 0/NULL -* RET_INVALID_ID Invalid Id used -* -* PURPOSE: : this function reads the full status register for mailbox. -*/ -extern HW_STATUS HW_MBOX_IsFull( - const u32 baseAddress, - const HW_MBOX_Id_t mailBoxId, - u32 *const pIsFull - ); - -/* * FUNCTION : HW_MBOX_NumMsgGet * * INPUTS: diff --git a/drivers/dsp/bridge/wmd/tiomap_sm.c b/drivers/dsp/bridge/wmd/tiomap_sm.c index 574cf28..658064f 100644 --- a/drivers/dsp/bridge/wmd/tiomap_sm.c +++ b/drivers/dsp/bridge/wmd/tiomap_sm.c @@ -28,6 +28,13 @@ extern struct platform_device omap_dspbridge_dev; #endif +#define MAILBOX_FIFOSTATUS(m) (0x80 + 4 * (m)) + +static inline unsigned int fifo_full(void __iomem *mbox_base, int mbox_id) +{ + return __raw_readb(mbox_base + MAILBOX_FIFOSTATUS(mbox_id)) & 0x1; +} + DSP_STATUS CHNLSM_EnableInterrupt(struct WMD_DEV_CONTEXT *pDevContext) { DSP_STATUS status = DSP_SOK; @@ -97,7 +104,6 @@ DSP_STATUS CHNLSM_InterruptDSP(struct WMD_DEV_CONTEXT *pDevContext) omap_dspbridge_dev.dev.platform_data; u32 opplevel = 0; #endif - u32 mbxFull; struct CFG_HOSTRES resources; u16 cnt = 10; u32 temp; @@ -137,17 +143,12 @@ DSP_STATUS CHNLSM_InterruptDSP(struct WMD_DEV_CONTEXT *pDevContext) pDevContext->dwBrdState = BRD_RUNNING; } - while (--cnt) { - HW_MBOX_IsFull(resources.dwMboxBase, - MBOX_ARM2DSP, &mbxFull); - if (mbxFull) - mdelay(1); - else - break; - } - if (!cnt) { - DBG_Trace(DBG_LEVEL7, "Timed out waiting for DSP mailbox \n"); - return WMD_E_TIMEOUT; + while (fifo_full((void __iomem *) resources.dwMboxBase, 0)) { + if (--cnt == 0) { + DBG_Trace(DBG_LEVEL7, "Timed out waiting for DSP mailbox \n"); + return WMD_E_TIMEOUT; + } + mdelay(1); } DBG_Trace(DBG_LEVEL3, "writing %x to Mailbox\n", pDevContext->wIntrVal2Dsp);