aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/ctxfi/cthw20k1.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/ctxfi/cthw20k1.c')
-rw-r--r--sound/pci/ctxfi/cthw20k1.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/sound/pci/ctxfi/cthw20k1.c b/sound/pci/ctxfi/cthw20k1.c
index 44283bd7b2df..b7b8e6f41d0d 100644
--- a/sound/pci/ctxfi/cthw20k1.c
+++ b/sound/pci/ctxfi/cthw20k1.c
@@ -1249,19 +1249,15 @@ static int hw_trn_init(struct hw *hw, const struct trn_conf *info)
1249 } 1249 }
1250 1250
1251 trnctl = 0x13; /* 32-bit, 4k-size page */ 1251 trnctl = 0x13; /* 32-bit, 4k-size page */
1252#if BITS_PER_LONG == 64 1252 ptp_phys_low = (u32)info->vm_pgt_phys;
1253 ptp_phys_low = info->vm_pgt_phys & ((1UL<<32)-1); 1253 ptp_phys_high = upper_32_bits(info->vm_pgt_phys);
1254 ptp_phys_high = (info->vm_pgt_phys>>32) & ((1UL<<32)-1); 1254 if (sizeof(void *) == 8) /* 64bit address */
1255 trnctl |= (1<<2); 1255 trnctl |= (1 << 2);
1256#elif BITS_PER_LONG == 32 1256#if 0 /* Only 4k h/w pages for simplicitiy */
1257 ptp_phys_low = info->vm_pgt_phys & (~0UL);
1258 ptp_phys_high = 0;
1259#else
1260# error "Unknown BITS_PER_LONG!"
1261#endif
1262#if PAGE_SIZE == 8192 1257#if PAGE_SIZE == 8192
1263 trnctl |= (1<<5); 1258 trnctl |= (1<<5);
1264#endif 1259#endif
1260#endif
1265 hw_write_20kx(hw, PTPALX, ptp_phys_low); 1261 hw_write_20kx(hw, PTPALX, ptp_phys_low);
1266 hw_write_20kx(hw, PTPAHX, ptp_phys_high); 1262 hw_write_20kx(hw, PTPAHX, ptp_phys_high);
1267 hw_write_20kx(hw, TRNCTL, trnctl); 1263 hw_write_20kx(hw, TRNCTL, trnctl);