История изменений
Исправление i586, (текущая версия) :
Что же, вопрос удалось решить.
Тут два сюжета.
Первый – почему линк «AlpineRidge – endpoint device» переходит в L1.0, а линк «tgl root port – alpine ridge» остается в L0 несмотря на то, что все условия из стандарта PCIe v4 выполнены. При наличии линка в L0 ничего ниже pc3 быть не может.
Выяснилось, что в мостах Alpine Ridge/Titan Ridge предусмотрена возможность override описанные в стандарте настройки ASPM. Эта настройка расположена в регистре vesc_reg1 (Vendor Specific Enhanced Capability, capability 0xb). По дефолту она почему-то включена, при ее выключении линк падает в L1, a package c-state – в pc8. Как и положено.
Второй сюжет – и в этих мостах, и в процессорном мосте L1 substate capability по дефолту отключена, и не просто отключена, а ее даже в связном списке capabilities нет. Соответственно, линк не может быть в L1.2, поэтому достигается pc8, но не pc10. Но эту задачу понято как решать, опираясь на стандарт.
У вас, вероятно, тоже какое-то pcie устройство не дает уйти в L1.2 (для него намного больше условий и оно требует правильной настройки таймингов). С этим можно разобраться.
Исправление i586, :
Что же, вопрос удалось решить.
Тут два сюжета.
Первый – почему линк «AlpineRidge – endpoint device» переходит в L1.0, а линк «tgl root port – alpine ridge» остается в L0 несмотря на то, что все условия из стандарта PCIe v4 выполнены. При наличии линка в L0 ничего ниже pc3 быть не может.
Выяснилось, что в мостах Alpine Ridge/Titan Ridge предусмотрена возможность override описанные в стандарте настройки ASPM. Эта настройка расположена в регистре vesc_reg1 (Vendor Specific Enhanced Capability, capability 0xb). По дефолту она почему-то включена, при ее выключении линк падает в L1, a package c-state – в pc8.
Второй сюжет – и в этих мостах, и в процессорном мосте L1 substate capability по дефолту отключена, и не просто отключена, а ее даже в связном списке capabilities нет. Соответственно, линк не может быть в L1.2, поэтому достигается pc8, но не pc10. Но эту задачу понято как решать, опираясь на стандарт.
У вас, вероятно, тоже какое-то pcie устройство не дает уйти в L1.2 (для него намного больше условий и оно требует правильной настройки таймингов). С этим можно разобраться.
Исправление i586, :
Что же, вопрос удалось решить.
Тут два сюжета.
Первый – почему линк «AlpineRidge – endpoint device» переходит в L1.0, а линк «tgl root port – alpine ridge» остается в L0 несмотря на то, что все условия из стандарта PCIe v4 выполнены. При наличии линка в L0 ничего ниже pc3 быть не может.
Выяснилось, что в мостах Alpine Ridge/Titan Ridge предусмотрена возможность override описанные в стандарте настройки ASPM. Эта настройка расположена в регистре vesc_reg1 (capability 0xb). По дефолту она почему-то включена, при ее выключении линк падает в L1, a package c-state – в pc8.
Второй сюжет – и в этих мостах, и в процессорном мосте L1 substate capability по дефолту отключена, и не просто отключена, а ее даже в связном списке capabilities нет. Соответственно, линк не может быть в L1.2, поэтому достигается pc8, но не pc10. Но эту задачу понято как решать, опираясь на стандарт.
У вас, вероятно, тоже какое-то pcie устройство не дает уйти в L1.2 (для него намного больше условий и оно требует правильной настройки таймингов). С этим можно разобраться.
Исходная версия i586, :
Что же, вопрос удалось решить.
Тут два сюжета.
Первый – почему линк «AlpineRidge – endpoint device» переходит в L1.0, а линк «tgl root port – alpine ridge» остается в L0 несмотря на то, что все условия из стандарта PCIe v4 выполнены. При наличии линка в L0 ничего ниже pc3 быть не может.
Выяснилось, что в мостах Alpine Ridge/Titan Ridge предусмотрена возможность override описанные в стандарте настройки ASPM. Эта настройка расположена в регистре vesc_reg1 (capability 0xb). По дефолту она почему-то включена, при ее выключении линк падает в L1, a package c-state – в pc8.
Второй сюжет – и в этих мостах, и в процессорном мосте L1 substate capability по дефолту отключена, и не просто отключена, а ее даже в связном списке capabilities нет. Соответственно, линк не может быть в L1.2, поэтому достигается pc8, но не pc10. Но эту задачу понято как решать, опираясь на стандарт.