return substream->runtime->delay;
 }
 
-static unsigned int azx_skl_get_dpib_pos(struct azx *chip,
-                                        struct azx_dev *azx_dev)
-{
-       return _snd_hdac_chip_readl(azx_bus(chip),
-                                   AZX_REG_VS_SDXDPIB_XBASE +
-                                   (AZX_REG_VS_SDXDPIB_XINTERVAL *
-                                    azx_dev->core.index));
-}
-
-/* get the current DMA position with correction on SKL+ chips */
-static unsigned int azx_get_pos_skl(struct azx *chip, struct azx_dev *azx_dev)
-{
-       /* DPIB register gives a more accurate position for playback */
-       if (azx_dev->core.substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
-               return azx_skl_get_dpib_pos(chip, azx_dev);
-
-       /* read of DPIB fetches the actual posbuf */
-       azx_skl_get_dpib_pos(chip, azx_dev);
-       return azx_get_pos_posbuf(chip, azx_dev);
-}
-
 static void __azx_shutdown_chip(struct azx *chip, bool skip_link_reset)
 {
        azx_stop_chip(chip);
                [POS_FIX_POSBUF] = azx_get_pos_posbuf,
                [POS_FIX_VIACOMBO] = azx_via_get_position,
                [POS_FIX_COMBO] = azx_get_pos_lpib,
-               [POS_FIX_SKL] = azx_get_pos_skl,
+               [POS_FIX_SKL] = azx_get_pos_posbuf,
                [POS_FIX_FIFO] = azx_get_pos_fifo,
        };