diff options
| -rw-r--r-- | drivers/video/tegra/host/host1x/hw_host1x6_sync.h | 7 | ||||
| -rw-r--r-- | drivers/video/tegra/host/t194/t194.c | 35 |
2 files changed, 1 insertions, 41 deletions
diff --git a/drivers/video/tegra/host/host1x/hw_host1x6_sync.h b/drivers/video/tegra/host/host1x/hw_host1x6_sync.h index 2a217dd87..a87ba840c 100644 --- a/drivers/video/tegra/host/host1x/hw_host1x6_sync.h +++ b/drivers/video/tegra/host/host1x/hw_host1x6_sync.h | |||
| @@ -50,8 +50,6 @@ | |||
| 50 | #ifndef _hw_host1x6_sync_h_ | 50 | #ifndef _hw_host1x6_sync_h_ |
| 51 | #define _hw_host1x6_sync_h_ | 51 | #define _hw_host1x6_sync_h_ |
| 52 | 52 | ||
| 53 | extern bool use_vm_threshold_registers; | ||
| 54 | |||
| 55 | static inline u32 host1x_sync_intstatus_r(void) | 53 | static inline u32 host1x_sync_intstatus_r(void) |
| 56 | { | 54 | { |
| 57 | return 0x1c; | 55 | return 0x1c; |
| @@ -250,10 +248,7 @@ static inline u32 host1x_sync_syncpt_0_r(void) | |||
| 250 | } | 248 | } |
| 251 | static inline u32 host1x_sync_syncpt_int_thresh_0_r(void) | 249 | static inline u32 host1x_sync_syncpt_int_thresh_0_r(void) |
| 252 | { | 250 | { |
| 253 | if (use_vm_threshold_registers) | 251 | return 0x9980; |
| 254 | return 0x9980; | ||
| 255 | |||
| 256 | return 0x8d00; | ||
| 257 | } | 252 | } |
| 258 | static inline u32 host1x_sync_syncpt_prot_en_0_r(void) | 253 | static inline u32 host1x_sync_syncpt_prot_en_0_r(void) |
| 259 | { | 254 | { |
diff --git a/drivers/video/tegra/host/t194/t194.c b/drivers/video/tegra/host/t194/t194.c index 7ebbaaf5f..9f422ba2c 100644 --- a/drivers/video/tegra/host/t194/t194.c +++ b/drivers/video/tegra/host/t194/t194.c | |||
| @@ -708,39 +708,6 @@ static void t194_remove_support(struct nvhost_chip_support *op) | |||
| 708 | op->priv = NULL; | 708 | op->priv = NULL; |
| 709 | } | 709 | } |
| 710 | 710 | ||
| 711 | bool use_vm_threshold_registers; | ||
| 712 | |||
| 713 | static void init_syncpt_thresh_reg(struct nvhost_master *host) | ||
| 714 | { | ||
| 715 | unsigned int id = host->info.pts_base; | ||
| 716 | unsigned long val; | ||
| 717 | |||
| 718 | /* | ||
| 719 | * WAR to bug 200293149: Check which threshold range | ||
| 720 | * should be used. By default we use the old register | ||
| 721 | * range for setting the interrupts. If the | ||
| 722 | * model doesn't support the old range, it will assert | ||
| 723 | * the interrupt immediately. If this happens, the code | ||
| 724 | * flags that we should use the VM threshold ranges | ||
| 725 | * instead. | ||
| 726 | */ | ||
| 727 | |||
| 728 | intr_op().disable_all_syncpt_intrs(&host->intr); | ||
| 729 | intr_op().set_syncpt_threshold(&host->intr, id, 1); | ||
| 730 | intr_op().enable_syncpt_intr(&host->intr, id); | ||
| 731 | |||
| 732 | udelay(10); | ||
| 733 | |||
| 734 | val = host1x_readl(host->dev, | ||
| 735 | host1x_sync_syncpt_thresh_cpu0_int_status_r() + | ||
| 736 | bit_word(id) * 4); | ||
| 737 | |||
| 738 | if (val & bit_mask(id)) | ||
| 739 | use_vm_threshold_registers = true; | ||
| 740 | |||
| 741 | intr_op().disable_all_syncpt_intrs(&host->intr); | ||
| 742 | } | ||
| 743 | |||
| 744 | #define SYNCPT_RAM_INIT_TIMEOUT_MS 1000 | 711 | #define SYNCPT_RAM_INIT_TIMEOUT_MS 1000 |
| 745 | 712 | ||
| 746 | static void t194_init_regs(struct platform_device *pdev, bool prod) | 713 | static void t194_init_regs(struct platform_device *pdev, bool prod) |
| @@ -778,8 +745,6 @@ static void t194_init_regs(struct platform_device *pdev, bool prod) | |||
| 778 | } | 745 | } |
| 779 | } | 746 | } |
| 780 | 747 | ||
| 781 | init_syncpt_thresh_reg(nvhost_get_host(pdev)); | ||
| 782 | |||
| 783 | /* Use old mapping registers on older simulator CLs */ | 748 | /* Use old mapping registers on older simulator CLs */ |
| 784 | ret = of_property_read_u64(pdev->dev.of_node, | 749 | ret = of_property_read_u64(pdev->dev.of_node, |
| 785 | "nvidia,changelist", | 750 | "nvidia,changelist", |
