struktur DXGKARG_DPI2CIOTRANSMISSION (dispmprt.h)
Struktur DXGKARG_DPI2CIOTRANSMISSION adalah parameter untuk panggilan balik DXGKDDI_DPI2CIOTRANSMISSION .
Sintaks
typedef struct _DXGKARG_DPI2CIOTRANSMISSION {
struct {
UINT Read : 1;
UINT Write : 1;
UINT EDDCMode : 1;
UINT OffsetSizeInBytes : 3;
UINT CanUseCachedData : 1;
UINT Reserved : 25;
};
UINT RootPortIndex;
UINT I2CAddress;
union {
struct {
UINT WordOffset : 8;
UINT SegmentPointer : 7;
UINT Reserved1 : 17;
};
UINT Offset;
};
UINT BufferSizeSupplied;
UINT BytesToWrite;
UINT BytesToRead;
UINT DPNativeError;
UINT BytesWritten;
UINT BytesRead;
BYTE Data[1];
} DXGKARG_DPI2CIOTRANSMISSION, *PDXGKARG_DPI2CIOTRANSMISSION;
Anggota
Read
Jika diatur, lakukan operasi baca DP I2C melalui AUX.
Write
Jika diatur, lakukan operasi tulis DP I2C melalui AUX.
EDDCMode
Jika diatur, perangkat di I2CAddress adalah Enhanced Display Data Channel (E-DDC).
OffsetSizeInBytes
Ukuran offset dari Offset, dalam byte, untuk menulis data untuk perangkat non-E-DDC.
CanUseCachedData
Jika diatur, driver dapat menggunakan data yang di-cache.
Reserved
Dipesan; jangan gunakan.
RootPortIndex
Nilai indeks konektor berkemampuan DP untuk melakukan DP I2C melalui operasi baca atau tulis AUX. Driver mengembalikan jumlah total konektor berkemampuan DP pada GPU dalam panggilan sebelumnya ke DXGKDDI_QUERYDPCAPS. Panggilan berikutnya ke DXGKDDI_DPI2CIOTRANSMISSION merujuk ke konektor DP dengan RootPortIndex mulai dari 0 hingga NumRootPorts - 1.
I2CAddress
Alamat I2C. Atur ke 0xA0 untuk EDID, atau 0xA4 untuk DisplayID.
WordOffset
Word offset, dalam byte.
SegmentPointer
Ketika EDDCMode diatur, driver harus menulis SegmentPointer ke alamat I2C 0x60. SegmentPointer mengidentifikasi blok data 256 byte yang diakses untuk perangkat E-DDC.
Reserved1
Dipesan; jangan gunakan.
Offset
Alamat untuk IO dalam perangkat.
BufferSizeSupplied
Ukuran buffer Data , dalam byte. BufferSizeSupplied harus lebih besar dari atau sama dengan yang lebih besar dari BytesToWrite dan BytesToWrite.
BytesToWrite
Jumlah byte yang akan ditulis untuk operasi tulis.
BytesToRead
Jumlah byte yang akan dibaca untuk operasi baca.
DPNativeError
Bidang di mana driver dapat mengodekan detail selengkapnya tentang kesalahan saat mengembalikan STATUS_DEVICE_PROTOCOL_ERROR dari DXGKDDI_DPI2CIOTRANSMISSION.
BytesWritten
Jumlah byte yang ditulis. Driver harus mengembalikan nilai ini seakurat mungkin jika terjadi kegagalan.
BytesRead
Jumlah byte yang dibaca. Driver harus mengembalikan nilai ini seakurat mungkin jika terjadi kegagalan.
Data[1]
Buffer yang berisi data yang akan ditulis untuk operasi tulis, dan/atau untuk menerima data untuk operasi baca.
Keterangan
Ketika EDDCMode diatur, driver harus menulis WordOffset ke OffsetSizeInBytes.
Ketika EDDCMode diatur, ada perangkat E-DDC di I2CAddress (0xA0 untuk EDID, 0xA4 untuk DisplayID). Dalam situasi ini, driver harus menulis SegmentPointer ke alamat I2C 0x60, WordOffset ke I2CAddress, dan kemudian melakukan operasi IO. Untuk semua perangkat I2C lainnya, driver harus menulis byte Offset sesuai dengan OffsetSizeInBytes.
Jika terjadi kegagalan, driver harus mengembalikan BytesWritten dan BytesRead seakurat mungkin.
Untuk Windows 10 versi 2004, operasi tulis hanya diizinkan untuk alamat 0x6E MCCS I2C. Semua operasi lain akan diblokir hingga rilis OS selanjutnya ketika kontrol akses ditambahkan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 10, version 2004 |
Header | dispmprt.h |