I'll second the TBS6985 that alf alfonsius mentioned, but be aware of two things:
First, for some reason TVHeadEnd generally sees the TBS6985 adapter inputs in reverse order. So what it considers adapter0 is tuner D, adapter1 is tuner C, adapter2 is tuner B, and adapter3 is tuner A.
Second, the card (and this may apply to all TBS cards) works much more reliably if you force it to use the new style IRQs. The default it to use the old style which can mean that the tuner card shares an IRQ with one or more other, often totally unrelated devices. This can cause strange, seemingly random issues. The fix is simple, and the best explanation I have seen was recently published at http://freetoairamerica.wordpress.com/2014/11/08/do-you-run-one-or-more-tbs-pcie-cards-under-linux-check-your-irqs/
Until I made the above fix I had problems with recordings appearing to be the wrong length in XBMC, even though the entire program had been recorded, and having issues skipping forward and backward. Since I found the above article and made the change shown there, I've had no problems with recordings. YMMV.