Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Тема закрыта
|
||||
|
l780.c bugs (linux)По просьбам трудящихся;))) пользователей проверяю что надо исправить в тексте драйвера l780.c из комплекта lcdrv-2.6.
Было
стало if(sm.sync_type & SYNC_TYPE_DIGITAL) i = 0; /* digital sync*/
Иначе режим кадровой синхронизации не будет включаться.
|
|||
|
||||
|
Re: l780.c bugs (linux)2) В обработке ioctl(dev, SNDCTL_DSP_CHANNELS, &ft->frame_rate)
строчка enable_adc(b, 1); лишняя |
|||
|
||||
|
Re: l780.c bugs (linux)3) В ядре 2.6.6 изменился порядок работы с POSIX IPC вызовами. Решение надо искать например здесь: http://www-users.mat.uni.torun.pl/~wrona/posix_ipc/ у меня в последнем варианте были отличия в device_mmap(struct file *file, struct vm_area_struct *vma) было и работало
стало и пока не работает
Ессно маппинг не работает (да он мне пока и не нужен). |
|||
|
||||
|
Re: l780.c bugs (linux)4) В критических местах inttask() я ставлю cli/sti, хотя это конечно дело вкуса. |
|||
|
||||
|
Re: l780.c bugs (linux)5) В драйвере не было реализовано чтение калибровочных коэффициентов ацп. A> Надо добавить функцию: static int load_coeff(BOARD_STRUCT *b)
m = sizeof(BOARD_DESCR) / sizeof(DM_WORD);
for(i=0; i < 4; i++) put_dm_word(b, b->var + L_ZERO+i, b->descr.KoefADC[i]);
B> и её вызов например в set_adc_timing(): с = load_coeff(b);
typedef struct _BOARD_DESCR
} BOARD_DESCR; зы Есть какие-то странности в считывании из EEPROM. |
Страницы 1
Тема закрыта