Well, it's using the snd-hda-intel module and that's always a barrel of fun. I'm pretty sure you're going to have to edit /etc/modprobe.d/sound.conf (or a similar file...I know things have changed in recent kernel versions. I'm still on 13.0 with /etc/modprobe.d/sound so I'm in the dark ages here) and add a model option. The ALC889A card is not really supported in ALSA fully (or at least wasn't until recently, if it is now) so the relevant documentation is a little less than helpful...but /usr/src/linux/Documentation/sound/alsa/HD-Audio-Models.txt should have the possible model options you can pass. It looks like you want options under the ALC882/885 (/889A but I'm not sure that the docs list that as an option) section since they are fairly compatible. If I were you (and I'm not) I would try the following *in runlevel 3* before X has started.
Unload the snd-hda-intel module by running (as root):
# modprobe -r snd-hda-intel
Add the following line to /etc/modprobe.d/sound.conf or equivalent:
options snd-hda-intel model=imac24
Load the snd-hda-intel module by running (as root):
# modprobe snd-hda-intel
Then run `alsamixer` as your normal user, max out the sound levels, unmute everything, and then run (as root)
Then try playing the worst sound known to man by running the following (as your regular user):
$ aplay /dev/urandom
Ctrl+C to stop that terrible noise, assuming it plays. If it does, your sound is working...if not, repeat the above, trying out other models (Google tells me mbp3 might work as well).
 You should also make sure your user is in the audio group. [/edit]