Bagikan melalui


DXGKDDI_DSIRESET fungsi panggilan balik (dispmprt.h)

Sintaks

DXGKDDI_DSIRESET DxgkddiDsireset;

NTSTATUS DxgkddiDsireset(
  [in]  HANDLE Context,
  [in]  D3DDDI_VIDEO_PRESENT_TARGET_ID TargetId,
  [out] PDXGK_DSI_RESET pArgs
)
{...}

Parameter

[in] Context

[in] TargetId

Pengidentifikasi target monitor.

[out] pArgs

Penunjuk ke struktur DXGI_DSI_CAPS .

Nilai kembali

DxgkddiDsiReset mengembalikan STATUS_SUCCESS jika berhasil; jika tidak, ia mengembalikan salah satu kode kesalahan yang ditentukan dalam Ntstatus.h.

Keterangan

Jika driver panel OEM mendeteksi bahwa panel dalam keadaan buruk, ia mengirim IOCTL_MIPI_DSI_RESET untuk meminta reset perangkat di bawah driver grafis dan kontrol OS. Reset selalu merupakan operasi berat yang akan menyebabkan pengosongan tampilan untuk beberapa bingkai dan oleh karena itu hanya boleh digunakan sebagai upaya terakhir.

Operasi panel normal tidak dapat dilanjutkan saat memproses reset sehingga OS akan memperlakukannya sangat mirip dengan perubahan mode tampilan, membersihkan aktivitas GPU yang tertunda, termasuk balik apa pun, dan memblokir pekerjaan baru hingga selesai. OS menerjemahkan IOCTL ke dalam panggilan DDI DxgkDsiReset . Driver harus sepenuhnya menghapus daya dari panel dan menginisialisasinya kembali dari awal, dan setelah penundaan yang sesuai, lakukan tindakan apa pun yang diperlukan untuk memulihkan panel ke keadaan yang dapat dikerjakan sebelum kembali. Ketika diatur, SecondaryPort bendera menunjukkan bahwa reset harus ditargetkan ke panel sekunder daripada yang utama.

Jika driver grafis memerlukan mode penuh yang diatur untuk melakukan atau memulihkan dari reset panel, driver harus mengatur bendera NeedModeSetoutput . Jika diatur saat kembali dari panggilan, OS akan merespons dengan panggilan DxgkDdiSetTimingsFromVidPn sebelum membuka blokir aktivitas normal. Driver dapat memilih untuk menunda beberapa pekerjaan reset ke panggilan ini jika diperlukan, asalkan status yang dapat dikerjakan diharapkan setelah panggilan pengaturan waktu.

Driver grafis harus melaporkan kesalahan MIPI tingkat rendah yang terdeteksi dan tidak ditangani oleh driver melalui MipiErrors bidang output.

Jika terjadi kesalahan yang tidak dapat dipulihkan selama reset, driver grafis harus mengatur ResetFailed bendera output. Hal ini diperkirakan akan menjadi kegagalan besar. Driver grafis juga harus memberi sinyal bahwa tidak ada tampilan yang tersedia pada target dengan menunjukkan bahwa cabut telah terjadi menggunakan panggilan balik DxgkCbIndicateConnectorChange dan kemudian menanggapi DxgkDdiQueryConnectionChange dengan melaporkan TargetStatusDisconnected untuk target yang gagal.

Bidang output akan disebarkan kembali ke buffer output IOCTL.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10, version 2004
Header dispmprt.h

Lihat juga

DxgkCbIndicateConnectorChange

DxgkDdiQueryConnectionChange

DxgkDdiSetTimingsFromVidPn

IOCTL_MIPI_DSI_RESET