Bagikan melalui


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

Lihat juga

DXGKDDI_DPI2CIOTRANSMISSION

DXGKDDI_QUERYDPCAPS