bdl_pose_adj: đặt cách giải quyết thời gian IRQ cho hda-intel


7

Tôi nhận được các lỗi sau trong nhật ký của mình:

kernel: snd_hda_intel 0000:00:1b.0: IRQ timing workaround is 
        activated for card #0. Suggest a bigger bdl_pos_adj

Google tìm thấy một số bài viết cũ ở đâyở đây xử lý cùng một vấn đề. Giải pháp được cung cấp đề nghị thay đổi giá trị cho mô-đun hạt nhân:

options snd-hda-intel enable_msi=1 bdl_pos_adj=1,48

Howeveer, không có nơi nào giải thích những con số có ý nghĩa gì. Hơn nữa, giá trị hiện tại (mặc định) mà tôi có hiện có nhiều số:

# cat /sys/module/snd_hda_intel/parameters/bdl_pos_adj
-1,1,-1,-1,-1,-1,-1,-1

Ai đó có thể vui lòng giải thích tất cả những con số này có nghĩa là gì, và làm thế nào để thay đổi chúng để thoát khỏi các lỗi?

Câu trả lời:


4

Tài liệu kernel mô tả bdl_pos_adjnhư sau (xem ALSA-Configuration.txtHD-Audio.txt ):

bdl_pos_adj- Chỉ định độ trễ thời gian DMA IRQ trong các mẫu. Vượt qua -1 sẽ khiến trình điều khiển chọn giá trị phù hợp dựa trên chip điều khiển.

(sic). Trên bộ điều khiển Intel, mặc định là 1 (đó là những gì bạn có thể thấy ở chính bạn /sys/module/snd_hda_intel/parameters/bdl_pos_adj). Có nhiều số vì mô-đun hỗ trợ nhiều thiết bị HDA (tám theo mặc định, nó SNDRV_CARDSnằm trong nguồn kernel ). Tôi không chắc chắn về sự tương ứng là gì; Tôi đã hy vọng nó sẽ khớp với số thẻ, nhưng bạn đang gặp lỗi cho thẻ số 0 trong khi bạn bdl_pos_adjđề nghị nó lấy giá trị của nó ở vị trí thứ hai ...

Về việc khắc phục sự cố, không có nhiều tài liệu và mã cũng không nói gì nhiều. Gợi ý duy nhất tôi có là làm theo hướng dẫn và thử tăng giá trị cho đến khi bạn nhận được thứ gì đó hoạt động:

options snd-hda-intel enable_msi=1 bdl_pos_adj=2,2

(Tôi đang sử dụng 2,2ở đây vì tôi không chắc chắn cái nào trong hai cái đầu tiên sẽ được sử dụng cho thiết bị của bạn.)


Tôi sẽ giữ nguyên enable_msi=1như trong ví dụ, hay nó không liên quan ở đây?
Martin Vegter

Nếu bạn chưa có thì hãy bỏ nó đi, chỉ cần giữ bdl_pos_adjtùy chọn.
Stephen Kitt

OK, sử dụng -1,2không tạo ra bất kỳ sự khác biệt, nhưng cuối cùng tăng lên cho đến khi -1,64dường như đã khắc phục vấn đề. Có thể có bất kỳ hậu quả tiêu cực do số lượng quá cao?
Martin Vegter

và có thực sự cần thiết để giữ cho nó có sức mạnh bằng 2 (như bài đăng được liên kết gợi ý)?
Martin Vegter

Nhìn vào mã điều khiển (nơi bdl_pos_adjđược sử dụng), tôi không hiểu tại sao nó phải là sức mạnh của hai. Theo như hậu quả tiêu cực, tất cả những gì bạn có nguy cơ là bỏ qua rất nhiều trong bộ đệm âm thanh (theo tôi hiểu) ...
Stephen Kitt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.