From: linux@audioscience.com
To: patch@alsa-project.org
Cc: tiwai@suse.de,
Eliot Blennerhassett <eblennerhassett@audioscience.com>,
alsa-devel@alsa-project.org
Subject: [PATCH 14/28] Remove int flag polling code preparing for stream interrupts.
Date: Thu, 10 Feb 2011 17:26:07 +1300 [thread overview]
Message-ID: <1297311981-30448-15-git-send-email-linux@audioscience.com> (raw)
In-Reply-To: <1297311981-30448-1-git-send-email-linux@audioscience.com>
From: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Interrupt flag used for message handshake will be required for
stream interrupts, so conditionally compiled code without
HPI6205_NO_HSR_POLL defined can never be used; removing it.
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
---
pci/asihpi/hpi6205.c | 101 --------------------------------------------------
pci/asihpi/hpi6205.h | 3 -
2 files changed, 0 insertions(+), 104 deletions(-)
diff --git a/pci/asihpi/hpi6205.c b/pci/asihpi/hpi6205.c
index 5fe535b..cbf79a9 100644
--- a/pci/asihpi/hpi6205.c
+++ b/pci/asihpi/hpi6205.c
@@ -527,10 +527,6 @@ static u16 create_adapter_obj(struct hpi_adapter_obj *pao,
struct hpi_hw_obj *phw = pao->priv;
struct bus_master_interface *interface;
u32 phys_addr;
-#ifndef HPI6205_NO_HSR_POLL
- u32 time_out = HPI6205_TIMEOUT;
- u32 temp1;
-#endif
int i;
u16 err;
@@ -584,27 +580,6 @@ static u16 create_adapter_obj(struct hpi_adapter_obj *pao,
interface = phw->p_interface_buffer;
-#ifndef HPI6205_NO_HSR_POLL
- /* wait for first interrupt indicating the DSP init is done */
- time_out = HPI6205_TIMEOUT * 10;
- temp1 = 0;
- while (((temp1 & C6205_HSR_INTSRC) == 0) && --time_out)
- temp1 = ioread32(phw->prHSR);
-
- if (temp1 & C6205_HSR_INTSRC)
- HPI_DEBUG_LOG(INFO,
- "Interrupt confirming DSP code running OK\n");
- else {
- HPI_DEBUG_LOG(ERROR,
- "Timed out waiting for interrupt "
- "confirming DSP code running\n");
- return HPI6205_ERROR_6205_NO_IRQ;
- }
-
- /* reset the interrupt */
- iowrite32(C6205_HSR_INTSRC, phw->prHSR);
-#endif
-
/* make sure the DSP has started ok */
if (!wait_dsp_ack(phw, H620_HIF_RESET, HPI6205_TIMEOUT * 10)) {
HPI_DEBUG_LOG(ERROR, "timed out waiting reset state \n");
@@ -1982,9 +1957,6 @@ static short hpi6205_transfer_data(struct hpi_adapter_obj *pao, u8 *p_data,
struct hpi_hw_obj *phw = pao->priv;
u32 data_transferred = 0;
u16 err = 0;
-#ifndef HPI6205_NO_HSR_POLL
- u32 time_out;
-#endif
u32 temp2;
struct bus_master_interface *interface = phw->p_interface_buffer;
@@ -2009,14 +1981,10 @@ static short hpi6205_transfer_data(struct hpi_adapter_obj *pao, u8 *p_data,
interface->transfer_size_in_bytes = this_copy;
-#ifdef HPI6205_NO_HSR_POLL
/* DSP must change this back to nOperation */
interface->dsp_ack = H620_HIF_IDLE;
-#endif
-
send_dsp_command(phw, operation);
-#ifdef HPI6205_NO_HSR_POLL
temp2 = wait_dsp_ack(phw, operation, HPI6205_TIMEOUT);
HPI_DEBUG_LOG(DEBUG, "spun %d times for data xfer of %d\n",
HPI6205_TIMEOUT - temp2, this_copy);
@@ -2029,40 +1997,6 @@ static short hpi6205_transfer_data(struct hpi_adapter_obj *pao, u8 *p_data,
break;
}
-#else
- /* spin waiting on the result */
- time_out = HPI6205_TIMEOUT;
- temp2 = 0;
- while ((temp2 == 0) && time_out--) {
- /* give 16k bus mastering transfer time to happen */
- /*(16k / 132Mbytes/s = 122usec) */
- hpios_delay_micro_seconds(20);
- temp2 = ioread32(phw->prHSR);
- temp2 &= C6205_HSR_INTSRC;
- }
- HPI_DEBUG_LOG(DEBUG, "spun %d times for data xfer of %d\n",
- HPI6205_TIMEOUT - time_out, this_copy);
- if (temp2 == C6205_HSR_INTSRC) {
- HPI_DEBUG_LOG(VERBOSE,
- "Interrupt from HIF <data> OK\n");
- /*
- if(interface->dwDspAck != nOperation) {
- HPI_DEBUG_LOG(DEBUG("interface->dwDspAck=%d,
- expected %d \n",
- interface->dwDspAck,nOperation);
- }
- */
- }
-/* need to handle this differently... */
- else {
- HPI_DEBUG_LOG(ERROR,
- "Interrupt from HIF <data> BAD\n");
- err = HPI_ERROR_DSP_HARDWARE;
- }
-
- /* reset the interrupt from the DSP */
- iowrite32(C6205_HSR_INTSRC, phw->prHSR);
-#endif
if (operation == H620_HIF_GET_DATA)
memcpy(&p_data[data_transferred],
(void *)&interface->u.b_data[0], this_copy);
@@ -2119,9 +2053,6 @@ static unsigned int message_count;
static u16 message_response_sequence(struct hpi_adapter_obj *pao,
struct hpi_message *phm, struct hpi_response *phr)
{
-#ifndef HPI6205_NO_HSR_POLL
- u32 temp2;
-#endif
u32 time_out, time_out2;
struct hpi_hw_obj *phw = pao->priv;
struct bus_master_interface *interface = phw->p_interface_buffer;
@@ -2164,38 +2095,6 @@ static u16 message_response_sequence(struct hpi_adapter_obj *pao,
/* spin waiting on HIF interrupt flag (end of msg process) */
time_out = HPI6205_TIMEOUT;
-#ifndef HPI6205_NO_HSR_POLL
- temp2 = 0;
- while ((temp2 == 0) && --time_out) {
- temp2 = ioread32(phw->prHSR);
- temp2 &= C6205_HSR_INTSRC;
- hpios_delay_micro_seconds(1);
- }
- if (temp2 == C6205_HSR_INTSRC) {
- rmb(); /* ensure we see latest value for dsp_ack */
- if ((interface->dsp_ack != H620_HIF_GET_RESP)) {
- HPI_DEBUG_LOG(DEBUG,
- "(%u)interface->dsp_ack(0x%x) != "
- "H620_HIF_GET_RESP, t=%u\n", message_count,
- interface->dsp_ack,
- HPI6205_TIMEOUT - time_out);
- } else {
- HPI_DEBUG_LOG(VERBOSE,
- "(%u)int with GET_RESP after %u\n",
- message_count, HPI6205_TIMEOUT - time_out);
- }
-
- } else {
- /* can we do anything else in response to the error ? */
- HPI_DEBUG_LOG(ERROR,
- "Interrupt from HIF module BAD (function %x)\n",
- phm->function);
- }
-
- /* reset the interrupt from the DSP */
- iowrite32(C6205_HSR_INTSRC, phw->prHSR);
-#endif
-
/* read the result */
if (time_out) {
if (interface->u.response_buffer.size <= phr->size)
diff --git a/pci/asihpi/hpi6205.h b/pci/asihpi/hpi6205.h
index e00edb0..df2f02c 100644
--- a/pci/asihpi/hpi6205.h
+++ b/pci/asihpi/hpi6205.h
@@ -25,9 +25,6 @@ Copyright AudioScience, Inc., 2003
#ifndef _HPI6205_H_
#define _HPI6205_H_
-/* transitional conditional compile shared between host and DSP */
-/* #define HPI6205_NO_HSR_POLL */
-
#include "hpi_internal.h"
/***********************************************************
--
1.7.0.4
next prev parent reply other threads:[~2011-02-10 4:26 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-10 4:25 [PATCH] asihpi: Update from 4.04 to 4.06 linux
2011-02-10 4:25 ` [PATCH 01/28] Switch to dev_printk linux
2011-02-10 4:25 ` [PATCH 02/28] Poison adapter_index in message. Remove unused function linux
2011-02-10 4:25 ` [PATCH 03/28] Simplify debug logging linux
2011-02-10 4:25 ` [PATCH 04/28] HPI 4.05.14 linux
2011-02-10 4:25 ` [PATCH 06/28] Rewrite PCM timer function. Update control names linux
2011-02-10 4:26 ` [PATCH 07/28] Add adapter index to cache info for debug linux
2011-02-10 4:26 ` [PATCH 08/28] Add include guard linux
2011-02-10 4:26 ` [PATCH 09/28] Checkpatch line lengths etc linux
2011-02-10 4:26 ` [PATCH 10/28] Update error codes linux
2011-02-10 4:26 ` [PATCH 12/28] Reduce number of error codes returned to upper layers linux
2011-02-10 4:26 ` [PATCH 13/28] Code cleanup linux
2011-02-10 4:26 ` linux [this message]
2011-02-10 4:26 ` [PATCH 15/28] Cosmetic + a minor comments linux
2011-02-10 4:26 ` [PATCH 16/28] Replace adapter list with single item in subsys response linux
2011-02-10 4:26 ` [PATCH 17/28] Add snd_card_set_dev to init linux
2011-02-10 4:26 ` [PATCH 18/28] Add volume mute control linux
2011-02-10 4:26 ` [PATCH 19/28] Allow adapters with duplicate index jumpers to be discovered linux
2011-02-10 4:26 ` [PATCH 20/28] Clarify firmware id selection linux
2011-02-10 4:26 ` [PATCH 21/28] Remove unused code and data linux
2011-02-10 4:26 ` [PATCH 22/28] Use consistent err return variable, change some bad variable names linux
2011-02-10 4:26 ` [PATCH 23/28] New functions prep for interrupt driven streams linux
2011-02-10 4:26 ` [PATCH 24/28] Minor define updates linux
2011-02-10 4:26 ` [PATCH 25/28] Ensure all adapter data is cleared on device removal linux
2011-02-10 4:26 ` [PATCH 26/28] Tighten firmware version requirements linux
2011-02-10 4:26 ` [PATCH 27/28] Fix outstream start trigger for non-mmap adapters linux
2011-02-10 4:26 ` [PATCH 28/28] HPI v4.06 linux
2011-02-10 17:52 ` [PATCH] asihpi: Update from 4.04 to 4.06 Takashi Iwai
2011-02-10 23:19 ` Eliot Blennerhassett
[not found] ` <4D54488D.5030803@audioscience.com>
2011-02-11 6:23 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1297311981-30448-15-git-send-email-linux@audioscience.com \
--to=linux@audioscience.com \
--cc=alsa-devel@alsa-project.org \
--cc=eblennerhassett@audioscience.com \
--cc=patch@alsa-project.org \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox