diff options
author | Venu Byravarasu <vbyravarasu@nvidia.com> | 2012-01-31 10:11:29 +0530 |
---|---|---|
committer | Rohan Somvanshi <rsomvanshi@nvidia.com> | 2012-02-03 05:53:34 -0800 |
commit | 51f40227d9f41491af52467515c51cacc77fdef8 (patch) | |
tree | eace8c0e416989e22e79fe7cdb0aba9b3d36561f | |
parent | 944a82b32d44bae0acb56abf5fec33a1c696c362 (diff) |
arm: tegra: fuse: Keep fuse register visible always
Fuse registers are made visible during init.
As they need not be masked and unmasked during
every fuse access, removing these functions.
bug 933113
Reviewed-on: http://git-master/r/78355
Change-Id: If95c021b9ec377ba9610eedd481ec3c8ff6bf874
Signed-off-by: Venu Byravarasu <vbyravarasu@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-on: http://git-master/r/78714
Reviewed-by: Automatic_Commit_Validation_User
-rw-r--r-- | arch/arm/mach-tegra/tegra_odm_fuses.c | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/arch/arm/mach-tegra/tegra_odm_fuses.c b/arch/arm/mach-tegra/tegra_odm_fuses.c index 6f6d22362fd1..ed672c3fa974 100644 --- a/arch/arm/mach-tegra/tegra_odm_fuses.c +++ b/arch/arm/mach-tegra/tegra_odm_fuses.c @@ -303,20 +303,6 @@ static void fuse_cmd_sense(void) wait_for_idle(); } -static void fuse_reg_hide(void) -{ - u32 reg = tegra_fuse_readl(0x48); - reg &= ~(1 << 28); - tegra_fuse_writel(reg, 0x48); -} - -static void fuse_reg_unhide(void) -{ - u32 reg = tegra_fuse_readl(0x48); - reg |= (1 << 28); - tegra_fuse_writel(reg, 0x48); -} - static void get_fuse(enum fuse_io_param io_param, u32 *out) { int start_bit = fuse_info_tbl[io_param].start_bit; @@ -373,7 +359,6 @@ int tegra_fuse_read(enum fuse_io_param io_param, u32 *data, int size) mutex_lock(&fuse_lock); clk_enable(clk_fuse); - fuse_reg_unhide(); fuse_cmd_sense(); if (io_param == SBK_DEVKEY_STATUS) { @@ -390,7 +375,6 @@ int tegra_fuse_read(enum fuse_io_param io_param, u32 *data, int size) get_fuse(io_param, data); } - fuse_reg_hide(); clk_disable(clk_fuse); mutex_unlock(&fuse_lock); @@ -636,16 +620,12 @@ int tegra_fuse_program(struct fuse_data *pgm_data, u32 flags) clk_enable(clk_fuse); - /* make all the fuse registers visible */ - fuse_reg_unhide(); - /* check that fuse options write access hasn't been disabled */ mutex_lock(&fuse_lock); reg = tegra_fuse_readl(FUSE_DIS_PGM); mutex_unlock(&fuse_lock); if (reg) { pr_err("fuse programming disabled"); - fuse_reg_hide(); clk_disable(clk_fuse); return -EACCES; } @@ -696,9 +676,6 @@ int tegra_fuse_program(struct fuse_data *pgm_data, u32 flags) /* disable software writes to the fuse registers */ tegra_fuse_writel(1, FUSE_WRITE_ACCESS); - /* make all the fuse registers invisible */ - fuse_reg_hide(); - /* apply the fuse values immediately instead of resetting the chip */ fuse_cmd_sense(); @@ -927,7 +904,6 @@ static void __exit tegra_fuse_program_exit(void) { fuse_power_disable(); - fuse_reg_hide(); if (!IS_ERR_OR_NULL(vdd_fuse)) regulator_put(vdd_fuse); |