All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
To: Clemens Ladisch <clemens@ladisch.de>
Cc: tiwai@suse.de, alsa-devel@alsa-project.org,
	linux1394-devel@lists.sourceforge.net, ffado-devel@lists.sf.net
Subject: Re: [PATCH 2/8] add device specific command
Date: Fri, 07 Jun 2013 07:49:03 +0900	[thread overview]
Message-ID: <51B111DF.6030602@sakamocchi.jp> (raw)
In-Reply-To: <51B0C7F4.6020200@sakamocchi.jp>

 > I got packet dump and confirm there is no EFC over AVC. As you say,
 > it commands to 0xecc0 00000 0000 and receives response at
 > 0xecc 8000 0000.

0xecc0 8000 0000 is correct address.


Regards

Takashi Sakamoto

(Jun 7 2013 02:33), Takashi Sakamoto wrote:
> Clemens,
>
>  > Do you have the latest firmware in your AFPre8?
>
> I use AFPre8 with firmware version 5.5 (0x5050000). I have never updated
> it after I bought so it's factory setting.
>
>  > It can also be controlled by sending the commands directly (without
>  > the AV/C header) to address 0xecc000000000.  This is one of the
>  > differences between FFADO and the Echo drivers,
>
> I got packet dump and confirm there is no EFC over AVC. As you say, it
> commands to 0xecc0 00000 0000 and receives response at 0xecc 8000 0000.
>
> Then I implemented it and it looks to work fine. I also think it good to
> use EFC without AVC.
>
>  > and might be related to the problems that FFADO has with the
>  > latest Fireworks firmware versions.
>
> Later I'll update firmware in my device and search for this issue. But
> it may be far future...
>
>  > That was part of my old driver, but most if this device-specific stuff
>  > is not needed for a simple kernel streaming driver.
>
> OK. I use this transaction to confirm the device can respond but it's
> needless. I'll remove it till posting improved patch.
>
>
> Regards
>
> Takashi Sakamoto
> o-takashi@sakamocchi.jp
>
> (Jun 3 2013 20:18), Clemens Ladisch wrote:
>> o-takashi@sakamocchi.jp wrote:
>>> Fireworks can be controlled by device specific commands over IEEE1394
>>> TA's
>>> AV/C Digital Interface Command Set.
>>
>> It can also be controlled by sending the commands directly (without the
>> AV/C header) to address 0xecc000000000.  This is one of the differences
>> between FFADO and the Echo drivers, and might be related to the problems
>> that FFADO has with the latest Fireworks firmware versions.
>>
>> Do you have the latest firmware in your AFPre8?
>>
>>> +struct avc_fields {
>>> +    unsigned short cts:4;
>>> +    unsigned short ctype:4;
>>>        ...
>>
>> The layout of bit fields are very unportable.  And if you do *not*
>> actually rely on the memory layout, you do not actually save space
>> because the code to access the fields becomes more complex.
>>
>>> +efc_over_avc(struct snd_efw *efw, unsigned int category,
>>
>>> +    /* AV/C fields */
>>> +    struct avc_fields avc_fields = {
>>> +        .cts        = AVC_CTS,
>>> +        .ctype        = AVC_CTYPE,
>>> +        .subunit_type    = AVC_SUBUNIT_TYPE,
>>> +        .subunit_id    = AVC_SUBUNIT_ID,
>>> +        .opcode        = AVC_OPCODE,
>>> +        .company_id    = AVC_COMPANY_ID
>>> +    };
>>
>> The compiler has to construct this on the stack.  Use "static const".
>>
>>> +    /* calcurate buffer size*/
>>
>>             calculate
>>
>>> +    if (param_count > response_quadlets)
>>> +        cmdbuf_bytes = 32 + param_count * 4;
>>> +    else
>>> +        cmdbuf_bytes = 32 + response_quadlets * 4;
>>
>> max()
>>
>>> +int snd_efw_command_identify(struct snd_efw *efw)
>>> +{
>>> +    return efc_over_avc(efw, EFC_CAT_HWCTL,
>>> +                EFC_CMD_HWCTL_IDENTIFY,
>>
>> That was part of my old driver, but most if this device-specific stuff
>> is not needed for a simple kernel streaming driver.
>>
>>
>> Regards,
>> Clemens

  reply	other threads:[~2013-06-06 22:49 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-01 15:55 [PATCH 0/8] [RFC] new driver for Echo Audio's Fireworks based devices o-takashi
2013-06-01 15:55 ` [PATCH 1/8] add main file of driver module o-takashi
2013-06-03 11:18   ` Clemens Ladisch
2013-06-01 15:55 ` [PATCH 2/8] add device specific command o-takashi
2013-06-03 11:18   ` Clemens Ladisch
2013-06-06 17:33     ` Takashi Sakamoto
2013-06-06 22:49       ` Takashi Sakamoto [this message]
2013-06-01 15:55 ` [PATCH 3/8] add control interfaces o-takashi
2013-06-01 15:55 ` [PATCH 4/8] add handling AMDTP stream o-takashi
2013-06-01 15:55 ` [PATCH 5/8] add MIDI interface o-takashi
2013-06-03 11:18   ` Clemens Ladisch
2013-06-01 15:55 ` [PATCH 6/8] add PCM interface o-takashi
2013-06-03 11:18   ` Clemens Ladisch
2013-06-01 15:55 ` [PATCH 7/8] add proc interface o-takashi
2013-06-01 15:55 ` [PATCH 8/8] modify Makefile and Kconfig to build this module o-takashi
2013-06-03 11:19   ` Clemens Ladisch
2013-06-03 11:18 ` [PATCH 0/8] [RFC] new driver for Echo Audio's Fireworks based devices Clemens Ladisch
2013-06-07 12:16   ` Takashi Sakamoto
2013-06-08  9:29     ` Clemens Ladisch

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=51B111DF.6030602@sakamocchi.jp \
    --to=o-takashi@sakamocchi.jp \
    --cc=alsa-devel@alsa-project.org \
    --cc=clemens@ladisch.de \
    --cc=ffado-devel@lists.sf.net \
    --cc=linux1394-devel@lists.sourceforge.net \
    --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.