mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-12-22 20:31:14 +00:00
fusee/sept: fix fuse driver to not infinitely recurse on get_soc_type()
This commit is contained in:
parent
e391f593de
commit
ff7e52a1c1
5 changed files with 87 additions and 77 deletions
|
@ -164,11 +164,12 @@ uint32_t fuse_get_spare_bit(uint32_t index) {
|
||||||
|
|
||||||
/* Read a reserved ODM register. */
|
/* Read a reserved ODM register. */
|
||||||
uint32_t fuse_get_reserved_odm(uint32_t index) {
|
uint32_t fuse_get_reserved_odm(uint32_t index) {
|
||||||
uint32_t soc_type = fuse_get_soc_type();
|
|
||||||
if (index < 8) {
|
if (index < 8) {
|
||||||
volatile tegra_fuse_chip_common_t *fuse_chip = fuse_chip_common_get_regs();
|
volatile tegra_fuse_chip_common_t *fuse_chip = fuse_chip_common_get_regs();
|
||||||
return fuse_chip->FUSE_RESERVED_ODM0[index];
|
return fuse_chip->FUSE_RESERVED_ODM0[index];
|
||||||
} else if (soc_type == 1) {
|
} else {
|
||||||
|
uint32_t soc_type = fuse_get_soc_type();
|
||||||
|
if (soc_type == 1) {
|
||||||
volatile tegra_fuse_chip_mariko_t *fuse_chip = fuse_chip_mariko_get_regs();
|
volatile tegra_fuse_chip_mariko_t *fuse_chip = fuse_chip_mariko_get_regs();
|
||||||
if (index < 22) {
|
if (index < 22) {
|
||||||
return fuse_chip->FUSE_RESERVED_ODM8[index - 8];
|
return fuse_chip->FUSE_RESERVED_ODM8[index - 8];
|
||||||
|
@ -182,6 +183,7 @@ uint32_t fuse_get_reserved_odm(uint32_t index) {
|
||||||
return fuse_chip->FUSE_RESERVED_ODM29;
|
return fuse_chip->FUSE_RESERVED_ODM29;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -164,11 +164,12 @@ uint32_t fuse_get_spare_bit(uint32_t index) {
|
||||||
|
|
||||||
/* Read a reserved ODM register. */
|
/* Read a reserved ODM register. */
|
||||||
uint32_t fuse_get_reserved_odm(uint32_t index) {
|
uint32_t fuse_get_reserved_odm(uint32_t index) {
|
||||||
uint32_t soc_type = fuse_get_soc_type();
|
|
||||||
if (index < 8) {
|
if (index < 8) {
|
||||||
volatile tegra_fuse_chip_common_t *fuse_chip = fuse_chip_common_get_regs();
|
volatile tegra_fuse_chip_common_t *fuse_chip = fuse_chip_common_get_regs();
|
||||||
return fuse_chip->FUSE_RESERVED_ODM0[index];
|
return fuse_chip->FUSE_RESERVED_ODM0[index];
|
||||||
} else if (soc_type == 1) {
|
} else {
|
||||||
|
uint32_t soc_type = fuse_get_soc_type();
|
||||||
|
if (soc_type == 1) {
|
||||||
volatile tegra_fuse_chip_mariko_t *fuse_chip = fuse_chip_mariko_get_regs();
|
volatile tegra_fuse_chip_mariko_t *fuse_chip = fuse_chip_mariko_get_regs();
|
||||||
if (index < 22) {
|
if (index < 22) {
|
||||||
return fuse_chip->FUSE_RESERVED_ODM8[index - 8];
|
return fuse_chip->FUSE_RESERVED_ODM8[index - 8];
|
||||||
|
@ -182,6 +183,7 @@ uint32_t fuse_get_reserved_odm(uint32_t index) {
|
||||||
return fuse_chip->FUSE_RESERVED_ODM29;
|
return fuse_chip->FUSE_RESERVED_ODM29;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -164,11 +164,12 @@ uint32_t fuse_get_spare_bit(uint32_t index) {
|
||||||
|
|
||||||
/* Read a reserved ODM register. */
|
/* Read a reserved ODM register. */
|
||||||
uint32_t fuse_get_reserved_odm(uint32_t index) {
|
uint32_t fuse_get_reserved_odm(uint32_t index) {
|
||||||
uint32_t soc_type = fuse_get_soc_type();
|
|
||||||
if (index < 8) {
|
if (index < 8) {
|
||||||
volatile tegra_fuse_chip_common_t *fuse_chip = fuse_chip_common_get_regs();
|
volatile tegra_fuse_chip_common_t *fuse_chip = fuse_chip_common_get_regs();
|
||||||
return fuse_chip->FUSE_RESERVED_ODM0[index];
|
return fuse_chip->FUSE_RESERVED_ODM0[index];
|
||||||
} else if (soc_type == 1) {
|
} else {
|
||||||
|
uint32_t soc_type = fuse_get_soc_type();
|
||||||
|
if (soc_type == 1) {
|
||||||
volatile tegra_fuse_chip_mariko_t *fuse_chip = fuse_chip_mariko_get_regs();
|
volatile tegra_fuse_chip_mariko_t *fuse_chip = fuse_chip_mariko_get_regs();
|
||||||
if (index < 22) {
|
if (index < 22) {
|
||||||
return fuse_chip->FUSE_RESERVED_ODM8[index - 8];
|
return fuse_chip->FUSE_RESERVED_ODM8[index - 8];
|
||||||
|
@ -182,6 +183,7 @@ uint32_t fuse_get_reserved_odm(uint32_t index) {
|
||||||
return fuse_chip->FUSE_RESERVED_ODM29;
|
return fuse_chip->FUSE_RESERVED_ODM29;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -164,11 +164,12 @@ uint32_t fuse_get_spare_bit(uint32_t index) {
|
||||||
|
|
||||||
/* Read a reserved ODM register. */
|
/* Read a reserved ODM register. */
|
||||||
uint32_t fuse_get_reserved_odm(uint32_t index) {
|
uint32_t fuse_get_reserved_odm(uint32_t index) {
|
||||||
uint32_t soc_type = fuse_get_soc_type();
|
|
||||||
if (index < 8) {
|
if (index < 8) {
|
||||||
volatile tegra_fuse_chip_common_t *fuse_chip = fuse_chip_common_get_regs();
|
volatile tegra_fuse_chip_common_t *fuse_chip = fuse_chip_common_get_regs();
|
||||||
return fuse_chip->FUSE_RESERVED_ODM0[index];
|
return fuse_chip->FUSE_RESERVED_ODM0[index];
|
||||||
} else if (soc_type == 1) {
|
} else {
|
||||||
|
uint32_t soc_type = fuse_get_soc_type();
|
||||||
|
if (soc_type == 1) {
|
||||||
volatile tegra_fuse_chip_mariko_t *fuse_chip = fuse_chip_mariko_get_regs();
|
volatile tegra_fuse_chip_mariko_t *fuse_chip = fuse_chip_mariko_get_regs();
|
||||||
if (index < 22) {
|
if (index < 22) {
|
||||||
return fuse_chip->FUSE_RESERVED_ODM8[index - 8];
|
return fuse_chip->FUSE_RESERVED_ODM8[index - 8];
|
||||||
|
@ -182,6 +183,7 @@ uint32_t fuse_get_reserved_odm(uint32_t index) {
|
||||||
return fuse_chip->FUSE_RESERVED_ODM29;
|
return fuse_chip->FUSE_RESERVED_ODM29;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -164,11 +164,12 @@ uint32_t fuse_get_spare_bit(uint32_t index) {
|
||||||
|
|
||||||
/* Read a reserved ODM register. */
|
/* Read a reserved ODM register. */
|
||||||
uint32_t fuse_get_reserved_odm(uint32_t index) {
|
uint32_t fuse_get_reserved_odm(uint32_t index) {
|
||||||
uint32_t soc_type = fuse_get_soc_type();
|
|
||||||
if (index < 8) {
|
if (index < 8) {
|
||||||
volatile tegra_fuse_chip_common_t *fuse_chip = fuse_chip_common_get_regs();
|
volatile tegra_fuse_chip_common_t *fuse_chip = fuse_chip_common_get_regs();
|
||||||
return fuse_chip->FUSE_RESERVED_ODM0[index];
|
return fuse_chip->FUSE_RESERVED_ODM0[index];
|
||||||
} else if (soc_type == 1) {
|
} else {
|
||||||
|
uint32_t soc_type = fuse_get_soc_type();
|
||||||
|
if (soc_type == 1) {
|
||||||
volatile tegra_fuse_chip_mariko_t *fuse_chip = fuse_chip_mariko_get_regs();
|
volatile tegra_fuse_chip_mariko_t *fuse_chip = fuse_chip_mariko_get_regs();
|
||||||
if (index < 22) {
|
if (index < 22) {
|
||||||
return fuse_chip->FUSE_RESERVED_ODM8[index - 8];
|
return fuse_chip->FUSE_RESERVED_ODM8[index - 8];
|
||||||
|
@ -182,6 +183,7 @@ uint32_t fuse_get_reserved_odm(uint32_t index) {
|
||||||
return fuse_chip->FUSE_RESERVED_ODM29;
|
return fuse_chip->FUSE_RESERVED_ODM29;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue