Re: [PATCH v4] sound: rawmidi: Add framing mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dne 12. 04. 21 v 11:31 Takashi Iwai napsal(a):
> On Sun, 11 Apr 2021 19:52:21 +0200,
> Jaroslav Kysela wrote:
>>>>>   struct snd_rawmidi_params {
>>>>>   	int stream;
>>>>>   	size_t buffer_size;		/* queue size in bytes */
>>>>>   	size_t avail_min;		/* minimum avail bytes for wakeup */
>>>>>   	unsigned int no_active_sensing: 1; /* do not send active sensing byte in close() */
>>>>> -	unsigned char reserved[16];	/* reserved for future use */
>>>>> +	unsigned char framing;		/* For input data only, frame incoming data */
>>>> We can move this flag to above 32-bit word (no_active_sensing). I'm not sure,
>>>> if we need 8 bits for this. It's first change after 20 years. Another flag may
>>>> obsolete this one.
>>>
>>> Not sure what you mean by this, could you show the code? Framing is an 
>>> enum rather than a flag, in case we find other framing formats with 
>>> other sizes that would obsolete this one.
>>
>> unsigned int no_active_sensing: 1;
>> unsigned int framing32: 1;
>> unsigned int framing64: 1; /* future extension, framing32 == 0 in this case */
>>
>> or:
>>
>> unsigned int framing_mode: 3;	/* three bits for future types */
>>
>> perhaps also:
>>
>> unsigned int clock_type: 3;	/* three bits for the clock type selection */
> 
> The usage of bit fields in an ioctl struct is a bad idea from the
> compat layer POV.  Let's avoid it.

What exactly do you mean?

					Jaroslav

-- 
Jaroslav Kysela <perex@xxxxxxxx>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux