up and down idle is generally caused by a vacuum leak.
high idle? hot or cold? if it is cold, then that is what it is supposed to do. if it is high hot, then it could be the temp sensor isn't sending back the proper reading to the ecm to let it know it is warmed up and the idle needs to drop.