The articles I have read link zinc and B12 deficiency as greater contributors to tinnitus than magnesium deficiency. This article also links vitamin A deficiency to tinnitus. They mention vitamin E as helping.
http://www.tinnitusreporter.com/stop-ear-ringing.html
A good inexpensive source of vitamin E, magnesium, and zinc is raw sunflower seeds.
http://www.whfoods.com/genpage.php/genpage.php?tname=foodspice&dbid=57
Most people in the US are deficient in magnesium though.When taking magnesium supplements, it is important to space them out over the day, and not take too much at once, otherwise it can cause diarrhea. Magnesium oxide is very poorly absorbed, so it should be avoided. Magnesium citrate is absorbed well, however it seems more likely to cause diarrhea than magnesium malate. I use magnesium malate as my magnesium supplement. The tablets I take have 133 mg of magnesium in each, and I take one 3x a day. i also eat plenty of nuts and seeds, which are high in magnesium.
"I am not aware of any studies directly linking low levels of magnesium to tinnitus, but nutrition testing conducted right before I had tinnitus showed I was deficient in magnesium as well as vitamin B12. Interestingly, in a number of studies, researchers have found that
magnesium deficiency is linked to noise induced hearing loss,
3 and hearing loss from loud noises is often linked to ringing in the ears. As such, it would be logical to suspect that magnesium deficiency may play a role in tinnitus for some people."
http://www.ctds.info/tinnitus.html