drivers/intel/gma: Ditch `link_frequency_270_mhz` setting
The `link_frequency_270_mhz` setting was originally used by the native graphics init code for Sandy/Ivy Bridge, which is long gone. The value of this information (which board had it set) is questionable. The only board that had an LVDS panel and set it to 0 was the ThinkPad L520, where native graphics init was never reported to work. Also, the native graphics init only used it for calculations, but never confi- gured the hardware to use a specific frequency. A look into the docu- mentation also doesn't reveal any straps that could be used to confi- gure it. Change-Id: Ieceaa13e4529096a8ba9036479fd84969faebd14 Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/39763 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Alexander Couzens <lynxis@fe80.eu> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
e47132be66
commit
d07ac8ee13
|
@ -88,7 +88,6 @@ u32 gtt_read(u32 reg);
|
||||||
struct i915_gpu_controller_info
|
struct i915_gpu_controller_info
|
||||||
{
|
{
|
||||||
int use_spread_spectrum_clock;
|
int use_spread_spectrum_clock;
|
||||||
int link_frequency_270_mhz;
|
|
||||||
u32 backlight;
|
u32 backlight;
|
||||||
int ndid;
|
int ndid;
|
||||||
u32 did[5];
|
u32 did[5];
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
chip northbridge/intel/sandybridge
|
chip northbridge/intel/sandybridge
|
||||||
register "gfx.did" = "{ 0x80000410, 0x80000320, 0x80000410, 0x80000410, 0x00000005 }"
|
register "gfx.did" = "{ 0x80000410, 0x80000320, 0x80000410, 0x80000410, 0x00000005 }"
|
||||||
register "gfx.link_frequency_270_mhz" = "0"
|
|
||||||
register "gfx.ndid" = "2"
|
register "gfx.ndid" = "2"
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gpu_cpu_backlight" = "0x00001312"
|
register "gpu_cpu_backlight" = "0x00001312"
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
chip northbridge/intel/sandybridge
|
chip northbridge/intel/sandybridge
|
||||||
register "gfx.link_frequency_270_mhz" = "0"
|
|
||||||
register "gfx.use_spread_spectrum_clock" = "0"
|
register "gfx.use_spread_spectrum_clock" = "0"
|
||||||
register "gpu_cpu_backlight" = "0x00000000"
|
register "gpu_cpu_backlight" = "0x00000000"
|
||||||
register "gpu_dp_b_hotplug" = "4"
|
register "gpu_dp_b_hotplug" = "4"
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
|
|
||||||
chip northbridge/intel/sandybridge # FIXME: check gfx.ndid and gfx.did
|
chip northbridge/intel/sandybridge # FIXME: check gfx.ndid and gfx.did
|
||||||
register "gfx.did" = "{ 0x80000100, 0x80000240, 0x80000410, 0x80000410, 0x00000005 }"
|
register "gfx.did" = "{ 0x80000100, 0x80000240, 0x80000410, 0x80000410, 0x00000005 }"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gfx.ndid" = "3"
|
register "gfx.ndid" = "3"
|
||||||
register "gpu_dp_b_hotplug" = "4"
|
register "gpu_dp_b_hotplug" = "4"
|
||||||
register "gpu_dp_c_hotplug" = "4"
|
register "gpu_dp_c_hotplug" = "4"
|
||||||
|
|
|
@ -16,7 +16,6 @@ chip northbridge/intel/sandybridge
|
||||||
|
|
||||||
# For native gfx
|
# For native gfx
|
||||||
register "gfx.use_spread_spectrum_clock" = "0"
|
register "gfx.use_spread_spectrum_clock" = "0"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gpu_cpu_backlight" = "0x1155"
|
register "gpu_cpu_backlight" = "0x1155"
|
||||||
register "gpu_pch_backlight" = "0x06100610"
|
register "gpu_pch_backlight" = "0x06100610"
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
##
|
##
|
||||||
|
|
||||||
chip northbridge/intel/sandybridge
|
chip northbridge/intel/sandybridge
|
||||||
register "gfx.link_frequency_270_mhz" = "0"
|
|
||||||
register "gfx.use_spread_spectrum_clock" = "0"
|
register "gfx.use_spread_spectrum_clock" = "0"
|
||||||
register "gpu_dp_b_hotplug" = "0"
|
register "gpu_dp_b_hotplug" = "0"
|
||||||
register "gpu_dp_c_hotplug" = "0"
|
register "gpu_dp_c_hotplug" = "0"
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
|
|
||||||
chip northbridge/intel/sandybridge
|
chip northbridge/intel/sandybridge
|
||||||
register "gfx.did" = "{ 0x80000100, 0x80000240, 0x80000410 }"
|
register "gfx.did" = "{ 0x80000100, 0x80000240, 0x80000410 }"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gfx.ndid" = "3"
|
register "gfx.ndid" = "3"
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gpu_cpu_backlight" = "0x00000129"
|
register "gpu_cpu_backlight" = "0x00000129"
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
##
|
##
|
||||||
|
|
||||||
chip northbridge/intel/sandybridge
|
chip northbridge/intel/sandybridge
|
||||||
register "gfx.link_frequency_270_mhz" = "0"
|
|
||||||
register "gfx.use_spread_spectrum_clock" = "0"
|
register "gfx.use_spread_spectrum_clock" = "0"
|
||||||
register "gpu_dp_b_hotplug" = "0"
|
register "gpu_dp_b_hotplug" = "0"
|
||||||
register "gpu_dp_c_hotplug" = "0"
|
register "gpu_dp_c_hotplug" = "0"
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
chip northbridge/intel/sandybridge
|
chip northbridge/intel/sandybridge
|
||||||
register "gfx.did" = "{ 0x80000100, 0x80000240, 0x80000410, 0x80000410, 0x00000005 }"
|
register "gfx.did" = "{ 0x80000100, 0x80000240, 0x80000410, 0x80000410, 0x00000005 }"
|
||||||
register "gfx.link_frequency_270_mhz" = "0"
|
|
||||||
register "gfx.ndid" = "3"
|
register "gfx.ndid" = "3"
|
||||||
register "gfx.use_spread_spectrum_clock" = "0"
|
register "gfx.use_spread_spectrum_clock" = "0"
|
||||||
register "gpu_cpu_backlight" = "0x00000000"
|
register "gpu_cpu_backlight" = "0x00000000"
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
chip northbridge/intel/sandybridge
|
chip northbridge/intel/sandybridge
|
||||||
register "gfx.did" = "{ 0x80000100, 0x80000240, 0x80000410, 0x80000410, 0x00000005 }"
|
register "gfx.did" = "{ 0x80000100, 0x80000240, 0x80000410, 0x80000410, 0x00000005 }"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gfx.ndid" = "3"
|
register "gfx.ndid" = "3"
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gpu_cpu_backlight" = "0x00000060"
|
register "gpu_cpu_backlight" = "0x00000060"
|
||||||
|
|
|
@ -31,7 +31,6 @@ chip northbridge/intel/ironlake
|
||||||
register "gpu_cpu_backlight" = "0x58d"
|
register "gpu_cpu_backlight" = "0x58d"
|
||||||
register "gpu_pch_backlight" = "0x061a061a"
|
register "gpu_pch_backlight" = "0x061a061a"
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
|
|
||||||
device cpu_cluster 0 on
|
device cpu_cluster 0 on
|
||||||
chip cpu/intel/model_2065x
|
chip cpu/intel/model_2065x
|
||||||
|
|
|
@ -14,7 +14,6 @@ chip northbridge/intel/sandybridge
|
||||||
register "gpu_panel_power_backlight_on_delay" = "2000" # T3: 200ms
|
register "gpu_panel_power_backlight_on_delay" = "2000" # T3: 200ms
|
||||||
register "gpu_panel_power_backlight_off_delay" = "2000" # T4: 200ms
|
register "gpu_panel_power_backlight_off_delay" = "2000" # T4: 200ms
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gpu_cpu_backlight" = "0x1155"
|
register "gpu_cpu_backlight" = "0x1155"
|
||||||
register "gpu_pch_backlight" = "0x06100610"
|
register "gpu_pch_backlight" = "0x06100610"
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@ chip northbridge/intel/sandybridge
|
||||||
register "gpu_panel_power_backlight_on_delay" = "2000" # T3: 200ms
|
register "gpu_panel_power_backlight_on_delay" = "2000" # T3: 200ms
|
||||||
register "gpu_panel_power_backlight_off_delay" = "2000" # T4: 200ms
|
register "gpu_panel_power_backlight_off_delay" = "2000" # T4: 200ms
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gpu_cpu_backlight" = "0x1155"
|
register "gpu_cpu_backlight" = "0x1155"
|
||||||
register "gpu_pch_backlight" = "0x06100610"
|
register "gpu_pch_backlight" = "0x06100610"
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@ chip northbridge/intel/sandybridge
|
||||||
register "gpu_panel_power_backlight_on_delay" = "2100" # T3: 210ms
|
register "gpu_panel_power_backlight_on_delay" = "2100" # T3: 210ms
|
||||||
register "gpu_panel_power_backlight_off_delay" = "2100" # T4: 210ms
|
register "gpu_panel_power_backlight_off_delay" = "2100" # T4: 210ms
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gpu_cpu_backlight" = "0x1155"
|
register "gpu_cpu_backlight" = "0x1155"
|
||||||
register "gpu_pch_backlight" = "0x11551155"
|
register "gpu_pch_backlight" = "0x11551155"
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@ chip northbridge/intel/sandybridge
|
||||||
register "gpu_panel_power_backlight_on_delay" = "2100" # T3: 210ms
|
register "gpu_panel_power_backlight_on_delay" = "2100" # T3: 210ms
|
||||||
register "gpu_panel_power_backlight_off_delay" = "2100" # T4: 210ms
|
register "gpu_panel_power_backlight_off_delay" = "2100" # T4: 210ms
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gpu_cpu_backlight" = "0x1155"
|
register "gpu_cpu_backlight" = "0x1155"
|
||||||
register "gpu_pch_backlight" = "0x11551155"
|
register "gpu_pch_backlight" = "0x11551155"
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,6 @@ chip northbridge/intel/sandybridge
|
||||||
register "gpu_panel_power_backlight_on_delay" = "2000" # T3: 200ms
|
register "gpu_panel_power_backlight_on_delay" = "2000" # T3: 200ms
|
||||||
register "gpu_panel_power_backlight_off_delay" = "2000" # T4: 200ms
|
register "gpu_panel_power_backlight_off_delay" = "2000" # T4: 200ms
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gpu_cpu_backlight" = "0x1155"
|
register "gpu_cpu_backlight" = "0x1155"
|
||||||
register "gpu_pch_backlight" = "0x06100610"
|
register "gpu_pch_backlight" = "0x06100610"
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,6 @@ chip northbridge/intel/sandybridge
|
||||||
register "gpu_panel_power_backlight_on_delay" = "2000" # T3: 200ms
|
register "gpu_panel_power_backlight_on_delay" = "2000" # T3: 200ms
|
||||||
register "gpu_panel_power_backlight_off_delay" = "2000" # T4: 200ms
|
register "gpu_panel_power_backlight_off_delay" = "2000" # T4: 200ms
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gpu_cpu_backlight" = "0x1155"
|
register "gpu_cpu_backlight" = "0x1155"
|
||||||
register "gpu_pch_backlight" = "0x11551155"
|
register "gpu_pch_backlight" = "0x11551155"
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,6 @@ chip northbridge/intel/sandybridge
|
||||||
register "gpu_panel_power_backlight_on_delay" = "2000" # T3: 200ms
|
register "gpu_panel_power_backlight_on_delay" = "2000" # T3: 200ms
|
||||||
register "gpu_panel_power_backlight_off_delay" = "2000" # T4: 200ms
|
register "gpu_panel_power_backlight_off_delay" = "2000" # T4: 200ms
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gpu_cpu_backlight" = "0x1155"
|
register "gpu_cpu_backlight" = "0x1155"
|
||||||
register "gpu_pch_backlight" = "0x11551155"
|
register "gpu_pch_backlight" = "0x11551155"
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@ chip northbridge/intel/sandybridge
|
||||||
register "gpu_panel_power_backlight_on_delay" = "3000"
|
register "gpu_panel_power_backlight_on_delay" = "3000"
|
||||||
register "gpu_panel_power_backlight_off_delay" = "2000"
|
register "gpu_panel_power_backlight_off_delay" = "2000"
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gpu_cpu_backlight" = "0x1155"
|
register "gpu_cpu_backlight" = "0x1155"
|
||||||
register "gpu_pch_backlight" = "0x11551155"
|
register "gpu_pch_backlight" = "0x11551155"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
chip northbridge/intel/sandybridge
|
chip northbridge/intel/sandybridge
|
||||||
register "gfx.did" = "{ 0x80000100, 0x80000240, 0x80000410, 0x80000410, 0x00000005 }"
|
register "gfx.did" = "{ 0x80000100, 0x80000240, 0x80000410, 0x80000410, 0x00000005 }"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gfx.ndid" = "3"
|
register "gfx.ndid" = "3"
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gpu_cpu_backlight" = "0x00001155"
|
register "gpu_cpu_backlight" = "0x00001155"
|
||||||
|
|
|
@ -32,7 +32,6 @@ chip northbridge/intel/ironlake
|
||||||
register "gpu_cpu_backlight" = "0x58d"
|
register "gpu_cpu_backlight" = "0x58d"
|
||||||
register "gpu_pch_backlight" = "0x061a061a"
|
register "gpu_pch_backlight" = "0x061a061a"
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
|
|
||||||
device cpu_cluster 0 on
|
device cpu_cluster 0 on
|
||||||
chip cpu/intel/model_2065x
|
chip cpu/intel/model_2065x
|
||||||
|
|
|
@ -14,7 +14,6 @@ chip northbridge/intel/sandybridge
|
||||||
register "gpu_panel_power_backlight_on_delay" = "2000" # T3: 200ms
|
register "gpu_panel_power_backlight_on_delay" = "2000" # T3: 200ms
|
||||||
register "gpu_panel_power_backlight_off_delay" = "2000" # T4: 200ms
|
register "gpu_panel_power_backlight_off_delay" = "2000" # T4: 200ms
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gpu_cpu_backlight" = "0x1155"
|
register "gpu_cpu_backlight" = "0x1155"
|
||||||
register "gpu_pch_backlight" = "0x06100610"
|
register "gpu_pch_backlight" = "0x06100610"
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,6 @@ chip northbridge/intel/sandybridge
|
||||||
register "gpu_panel_power_backlight_on_delay" = "2100" # T3: 210ms
|
register "gpu_panel_power_backlight_on_delay" = "2100" # T3: 210ms
|
||||||
register "gpu_panel_power_backlight_off_delay" = "2100" # T4: 210ms
|
register "gpu_panel_power_backlight_off_delay" = "2100" # T4: 210ms
|
||||||
register "gfx.use_spread_spectrum_clock" = "1"
|
register "gfx.use_spread_spectrum_clock" = "1"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
register "gpu_cpu_backlight" = "0x1155"
|
register "gpu_cpu_backlight" = "0x1155"
|
||||||
register "gpu_pch_backlight" = "0x11551155"
|
register "gpu_pch_backlight" = "0x11551155"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
chip northbridge/intel/sandybridge
|
chip northbridge/intel/sandybridge
|
||||||
register "gfx.link_frequency_270_mhz" = "0"
|
|
||||||
device cpu_cluster 0x0 on
|
device cpu_cluster 0x0 on
|
||||||
chip cpu/intel/model_206ax
|
chip cpu/intel/model_206ax
|
||||||
register "c1_acpower" = "1"
|
register "c1_acpower" = "1"
|
||||||
|
|
|
@ -32,7 +32,6 @@ chip northbridge/intel/ironlake
|
||||||
register "gpu_cpu_backlight" = "0x58d"
|
register "gpu_cpu_backlight" = "0x58d"
|
||||||
register "gpu_pch_backlight" = "0x061a061a"
|
register "gpu_pch_backlight" = "0x061a061a"
|
||||||
register "gfx.use_spread_spectrum_clock" = "0"
|
register "gfx.use_spread_spectrum_clock" = "0"
|
||||||
register "gfx.link_frequency_270_mhz" = "1"
|
|
||||||
|
|
||||||
device cpu_cluster 0 on
|
device cpu_cluster 0 on
|
||||||
chip cpu/intel/model_2065x
|
chip cpu/intel/model_2065x
|
||||||
|
|
|
@ -14,26 +14,6 @@ func (i sandybridgemc) Scan(ctx Context, addr PCIDevData) {
|
||||||
GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
||||||
`)
|
`)
|
||||||
|
|
||||||
pchLVDS := inteltool.IGD[0xe1180]
|
|
||||||
dualChannel := pchLVDS&(3<<2) == (3 << 2)
|
|
||||||
pipe := (pchLVDS >> 30) & 1
|
|
||||||
link_m1 := inteltool.IGD[0x60040+0x1000*pipe]
|
|
||||||
link_n1 := inteltool.IGD[0x60044+0x1000*pipe]
|
|
||||||
link_factor := float32(link_m1) / float32(link_n1)
|
|
||||||
fp0 := inteltool.IGD[0xc6040+8*pipe]
|
|
||||||
dpll := inteltool.IGD[0xc6014+4*pipe]
|
|
||||||
pixel_m2 := fp0 & 0xff
|
|
||||||
pixel_m1 := (fp0>>8)&0xff + 2
|
|
||||||
pixel_p1 := uint32(1)
|
|
||||||
for i := dpll & 0x1ffff; i != 0 && i&1 == 0; i >>= 1 {
|
|
||||||
pixel_p1++
|
|
||||||
}
|
|
||||||
pixel_n := ((fp0 >> 16) & 0xff) + 2
|
|
||||||
pixel_frequency := float32(120000*(5*pixel_m1+pixel_m2)) / float32(pixel_n*pixel_p1*7.0)
|
|
||||||
if !dualChannel {
|
|
||||||
pixel_frequency /= 2
|
|
||||||
}
|
|
||||||
link_frequency := pixel_frequency / link_factor
|
|
||||||
DevTree = DevTreeNode{
|
DevTree = DevTreeNode{
|
||||||
Chip: "northbridge/intel/sandybridge",
|
Chip: "northbridge/intel/sandybridge",
|
||||||
MissingParent: "northbridge",
|
MissingParent: "northbridge",
|
||||||
|
@ -51,7 +31,6 @@ func (i sandybridgemc) Scan(ctx Context, addr PCIDevData) {
|
||||||
"gpu_cpu_backlight": FormatHex32(inteltool.IGD[0x48254]),
|
"gpu_cpu_backlight": FormatHex32(inteltool.IGD[0x48254]),
|
||||||
"gpu_pch_backlight": FormatHex32((inteltool.IGD[0xc8254] >> 16) * 0x10001),
|
"gpu_pch_backlight": FormatHex32((inteltool.IGD[0xc8254] >> 16) * 0x10001),
|
||||||
"gfx.use_spread_spectrum_clock": FormatBool((inteltool.IGD[0xc6200]>>12)&1 != 0),
|
"gfx.use_spread_spectrum_clock": FormatBool((inteltool.IGD[0xc6200]>>12)&1 != 0),
|
||||||
"gfx.link_frequency_270_mhz": FormatBool(link_frequency > 200000),
|
|
||||||
},
|
},
|
||||||
Children: []DevTreeNode{
|
Children: []DevTreeNode{
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue