Vietnamese (machine translation)

Lưu ý

Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.

Bản gốc:

High-speed DMABUF interface for IIO

Người dịch:

Google Translate (machine translation)

Phiên bản gốc:

8541d8f725c6

Cảnh báo

Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.

Giao diện DMABUF tốc độ cao cho IIO

1. Tổng quan

Hệ thống con I/O công nghiệp hỗ trợ truy cập vào bộ đệm thông qua giao diện dựa trên tập tin, với các lệnh gọi truy cập read() và write() thông qua Nút phát triển của thiết bị IIO.

Nó cũng hỗ trợ giao diện dựa trên DMABUF, nơi không gian người dùng có thể đính kèm các đối tượng DMABUF (được tạo bên ngoài) vào bộ đệm IIO và sau đó sử dụng chúng để truyền dữ liệu.

Sau đó, một ứng dụng không gian người dùng có thể sử dụng giao diện này để chia sẻ DMABUF các đối tượng giữa một số giao diện, cho phép nó truyền dữ liệu một cách kiểu không sao chép, chẳng hạn như giữa IIO và ngăn xếp USB.

Ứng dụng không gian người dùng cũng có thể ánh xạ bộ nhớ các đối tượng DMABUF và truy cập trực tiếp vào dữ liệu mẫu. Ưu điểm của việc này so với Giao diện read() là nó tránh được việc sao chép thêm dữ liệu giữa kernel và không gian người dùng. Điều này đặc biệt hữu ích cho các thiết bị tốc độ cao tạo ra vài megabyte hoặc thậm chí gigabyte dữ liệu mỗi giây. Tuy nhiên, nó làm tăng tính đồng bộ hóa không gian hạt nhân-không gian người dùng chi phí chung, vì IOCTL DMA_BUF_SYNC_START và DMA_BUF_SYNC_END phải được sử dụng để đảm bảo tính toàn vẹn dữ liệu.

2. Người dùng API

Là một phần của giao diện này, ba IOCTL mới đã được thêm vào. Ba người này IOCTL phải được thực hiện trên bộ mô tả tệp của bộ đệm IIO, có thể thu được bằng cách sử dụng IIO_BUFFER_GET_FD_IOCTL() ioctl.

ZZ0000ZZ

Đính kèm đối tượng DMABUF, được xác định bởi bộ mô tả tệp của nó, vào Bộ đệm IIO. Trả về 0 nếu thành công và giá trị lỗi âm nếu lỗi.

ZZ0000ZZ

Tách đối tượng DMABUF đã cho, được xác định bởi bộ mô tả tệp của nó, từ bộ đệm IIO. Trả về số 0 khi thành công và lỗi âm giá trị bị lỗi.

Lưu ý rằng việc đóng bộ mô tả tệp của bộ đệm IIO sẽ

tự động tách tất cả các đối tượng DMABUF đã đính kèm trước đó.

ZZ0000ZZ

Đưa một đối tượng DMABUF đã được đính kèm trước đó vào hàng đợi bộ đệm. Các DMABUF được xếp hàng đợi sẽ được đọc từ (nếu là bộ đệm đầu ra) hoặc được ghi vào (nếu bộ đệm đầu vào) miễn là bộ đệm được bật.