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 23/28] New functions prep for interrupt driven streams.
Date: Thu, 10 Feb 2011 17:26:16 +1300 [thread overview]
Message-ID: <1297311981-30448-24-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>
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
---
pci/asihpi/hpi.h | 19 ++++++++++++++++++-
pci/asihpi/hpi_internal.h | 25 +++++++++++++++++++++----
2 files changed, 39 insertions(+), 5 deletions(-)
diff --git a/pci/asihpi/hpi.h b/pci/asihpi/hpi.h
index 5ac978d..ec19df5 100644
--- a/pci/asihpi/hpi.h
+++ b/pci/asihpi/hpi.h
@@ -324,6 +324,15 @@ to enable SSX2 stream mapping within the kernel level of the driver.
*/
HPI_ADAPTER_PROPERTY_SSX2_SETTING = 4,
+/** Enables/disables PCI(e) IRQ.
+A setting of 0 indicates that no interrupts are being generated. A DSP boot
+this property is set to 0. Setting to a non-zero value specifies the number
+of frames of audio that should be processed between interrupts. This property
+should be set to multiple of the mixer interval as read back from the
+HPI_ADAPTER_PROPERTY_INTERVAL property.
+*/
+ HPI_ADAPTER_PROPERTY_IRQ_RATE = 5,
+
/** Base number for readonly properties */
HPI_ADAPTER_PROPERTY_READONLYBASE = 256,
@@ -428,7 +437,13 @@ return value is true (1) or false (0). If the current adapter
mode is MONO SSX2 is disabled, even though this property will
return true.
*/
- HPI_ADAPTER_PROPERTY_SUPPORTS_SSX2 = 271
+ HPI_ADAPTER_PROPERTY_SUPPORTS_SSX2 = 271,
+/** Readonly supports PCI(e) IRQ.
+Indicates that the adapter in it's current mode supports interrupts
+across the host bus. Note, this does not imply that interrupts are
+enabled. Instead it indicates that they can be enabled.
+*/
+ HPI_ADAPTER_PROPERTY_SUPPORTS_IRQ = 272
};
/** Adapter mode commands
@@ -998,6 +1013,8 @@ enum HPI_ERROR_CODES {
HPI_ERROR_NO_INTERADAPTER_GROUPS = 314,
/** Streams on different DSPs cannot be grouped. */
HPI_ERROR_NO_INTERDSP_GROUPS = 315,
+ /** Stream wait cancelled before threshold reached. */
+ HPI_ERROR_WAIT_CANCELLED = 316,
/** Invalid mixer node for this adapter. */
HPI_ERROR_INVALID_NODE = 400,
diff --git a/pci/asihpi/hpi_internal.h b/pci/asihpi/hpi_internal.h
index 06a8779..ca5b844 100644
--- a/pci/asihpi/hpi_internal.h
+++ b/pci/asihpi/hpi_internal.h
@@ -432,7 +432,9 @@ enum HPI_FUNCTION_IDS {
HPI_ADAPTER_ENUM_PROPERTY = HPI_FUNC_ID(ADAPTER, 16),
HPI_ADAPTER_MODULE_INFO = HPI_FUNC_ID(ADAPTER, 17),
HPI_ADAPTER_DEBUG_READ = HPI_FUNC_ID(ADAPTER, 18),
-#define HPI_ADAPTER_FUNCTION_COUNT 18
+ HPI_ADAPTER_IRQ_QUERY_AND_CLEAR = HPI_FUNC_ID(ADAPTER, 19),
+ HPI_ADAPTER_IRQ_CALLBACK = HPI_FUNC_ID(ADAPTER, 20),
+#define HPI_ADAPTER_FUNCTION_COUNT 20
HPI_OSTREAM_OPEN = HPI_FUNC_ID(OSTREAM, 1),
HPI_OSTREAM_CLOSE = HPI_FUNC_ID(OSTREAM, 2),
@@ -458,7 +460,8 @@ enum HPI_FUNCTION_IDS {
HPI_OSTREAM_GROUP_RESET = HPI_FUNC_ID(OSTREAM, 22),
HPI_OSTREAM_HOSTBUFFER_GET_INFO = HPI_FUNC_ID(OSTREAM, 23),
HPI_OSTREAM_WAIT_START = HPI_FUNC_ID(OSTREAM, 24),
-#define HPI_OSTREAM_FUNCTION_COUNT 24
+ HPI_OSTREAM_WAIT = HPI_FUNC_ID(OSTREAM, 25),
+#define HPI_OSTREAM_FUNCTION_COUNT 25
HPI_ISTREAM_OPEN = HPI_FUNC_ID(ISTREAM, 1),
HPI_ISTREAM_CLOSE = HPI_FUNC_ID(ISTREAM, 2),
@@ -479,7 +482,8 @@ enum HPI_FUNCTION_IDS {
HPI_ISTREAM_GROUP_RESET = HPI_FUNC_ID(ISTREAM, 17),
HPI_ISTREAM_HOSTBUFFER_GET_INFO = HPI_FUNC_ID(ISTREAM, 18),
HPI_ISTREAM_WAIT_START = HPI_FUNC_ID(ISTREAM, 19),
-#define HPI_ISTREAM_FUNCTION_COUNT 19
+ HPI_ISTREAM_WAIT = HPI_FUNC_ID(ISTREAM, 20),
+#define HPI_ISTREAM_FUNCTION_COUNT 20
/* NOTE:
GET_NODE_INFO, SET_CONNECTION, GET_CONNECTIONS are not currently used */
@@ -494,7 +498,8 @@ enum HPI_FUNCTION_IDS {
HPI_MIXER_GET_CONTROL_ARRAY_BY_INDEX = HPI_FUNC_ID(MIXER, 9),
HPI_MIXER_GET_CONTROL_MULTIPLE_VALUES = HPI_FUNC_ID(MIXER, 10),
HPI_MIXER_STORE = HPI_FUNC_ID(MIXER, 11),
-#define HPI_MIXER_FUNCTION_COUNT 11
+ HPI_MIXER_GET_CACHE_INFO = HPI_FUNC_ID(MIXER, 12),
+#define HPI_MIXER_FUNCTION_COUNT 12
HPI_CONTROL_GET_INFO = HPI_FUNC_ID(CONTROL, 1),
HPI_CONTROL_GET_STATE = HPI_FUNC_ID(CONTROL, 2),
@@ -693,6 +698,9 @@ union hpi_adapterx_msg {
u32 pad32;
u16 value;
} test_assert;
+ struct {
+ u32 yes;
+ } irq_query;
};
struct hpi_adapter_res {
@@ -731,6 +739,9 @@ union hpi_adapterx_res {
u32 length;
u32 version;
} query_flash;
+ struct {
+ u32 yes;
+ } irq_query;
};
struct hpi_stream_msg {
@@ -742,6 +753,7 @@ struct hpi_stream_msg {
u32 time_scale;
struct hpi_buffer buffer;
struct hpi_streamid stream;
+ u32 threshold_bytes;
} u;
};
@@ -828,6 +840,11 @@ union hpi_mixerx_res {
u32 p_data; /* pointer to data array */
u16 more_to_do; /* indicates if there is more to do */
} gcabi;
+ struct {
+ u32 total_controls; /* count of controls in the mixer */
+ u32 cache_controls; /* count of controls in the cac */
+ u32 cache_bytes; /* size of cache */
+ } cache_info;
};
struct hpi_control_msg {
--
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 ` [PATCH 14/28] Remove int flag polling code preparing for stream interrupts linux
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 ` linux [this message]
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-24-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.