Commit 548aae9
drm/xe: Set LRC addresses before guc load
commit 6405f5b upstream.
The metadata saved in the ADS is read by GuC when it's initialized.
Saving the addresses to the LRCs when they are populated is too late as
GuC will keep using the old ones.
This was causing GuC to use the RCS LRC for any engine class. It's not a
big problem on a Linux-only scenario since the they are used by GuC only
on media engines when the watchdog is triggered. However, in a
virtualization scenario with Windows as the VF, it causes the wrong LRCs
to be loaded as the watchdog is used for all engines.
Fix it by letting guc_golden_lrc_init() initialize the metadata, like
other *_init() functions, and later guc_golden_lrc_populate() to copy
the LRCs to the right places. The former is called before the second GuC
load, while the latter is called after LRCs have been recorded.
Cc: Chee Yin Wong <chee.yin.wong@intel.com>
Cc: John Harrison <john.c.harrison@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Fixes: dd08ebf ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Cc: <stable@vger.kernel.org> # v6.11+
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Tested-by: Chee Yin Wong <chee.yin.wong@intel.com>
Link: https://lore.kernel.org/r/20250409-fix-guc-ads-v1-1-494135f7a5d0@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
(cherry picked from commit c31a0b6)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>1 parent 90574ec commit 548aae9
1 file changed
Lines changed: 45 additions & 30 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
490 | 490 | | |
491 | 491 | | |
492 | 492 | | |
493 | | - | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
494 | 498 | | |
495 | 499 | | |
| 500 | + | |
496 | 501 | | |
497 | 502 | | |
498 | | - | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
499 | 514 | | |
500 | | - | |
501 | 515 | | |
502 | 516 | | |
503 | 517 | | |
504 | 518 | | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
505 | 533 | | |
506 | | - | |
507 | | - | |
| 534 | + | |
508 | 535 | | |
509 | | - | |
510 | | - | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
511 | 539 | | |
512 | 540 | | |
513 | 541 | | |
| |||
857 | 885 | | |
858 | 886 | | |
859 | 887 | | |
860 | | - | |
| 888 | + | |
861 | 889 | | |
862 | 890 | | |
863 | 891 | | |
| |||
883 | 911 | | |
884 | 912 | | |
885 | 913 | | |
886 | | - | |
| 914 | + | |
887 | 915 | | |
888 | 916 | | |
889 | 917 | | |
| |||
903 | 931 | | |
904 | 932 | | |
905 | 933 | | |
906 | | - | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
907 | 940 | | |
908 | 941 | | |
909 | 942 | | |
910 | 943 | | |
911 | 944 | | |
912 | 945 | | |
913 | | - | |
| 946 | + | |
914 | 947 | | |
915 | 948 | | |
916 | 949 | | |
917 | | - | |
918 | 950 | | |
919 | 951 | | |
920 | 952 | | |
| |||
931 | 963 | | |
932 | 964 | | |
933 | 965 | | |
934 | | - | |
935 | | - | |
936 | | - | |
937 | | - | |
938 | | - | |
939 | | - | |
940 | | - | |
941 | | - | |
942 | | - | |
943 | | - | |
944 | | - | |
945 | | - | |
946 | | - | |
947 | | - | |
948 | | - | |
949 | | - | |
950 | 966 | | |
951 | 967 | | |
952 | 968 | | |
953 | | - | |
954 | 969 | | |
955 | 970 | | |
956 | 971 | | |
| |||
959 | 974 | | |
960 | 975 | | |
961 | 976 | | |
962 | | - | |
| 977 | + | |
963 | 978 | | |
964 | 979 | | |
965 | 980 | | |
| |||
0 commit comments