Each team plays everyone else home and away, 90 league games in all. Top 4 qualify for the semis.
I dont think thats true, there are 10 teams in IPL and each team will play only 14 games in the league stage, if they are playing each other home and away they should play 18 games in league stage.
On wikipedia I found this :
The ten teams are divided into two groups of five. In the group stage, each team plays 14 games: facing the other four teams in their group two times each (one home and one away game), four teams in the other group once, and the remaining team two times. A random draw was used to determine the groups and who plays whom across the groups once and twice.
Each team plays the team in the same row and the same column twice, and all others once. For instance, Pune Warriors will play Chennai Super Kings and the other Group A teams twice but the other teams from Group B (Kolkata Knight Riders, Kochi Tuskers Kerala, Royal Challengers Bangalore and Rajasthan Royals) only once. Similarly Kochi Tuskers Kerala will play Delhi Daredevils and the other Group B teams twice but all other teams from Group A only once.
Group A : Deccan Chargers, Delhi Daredevils, KXIP, Pune Warriors India, Mumbai Indians
Group B : Kolkata Knight Riders, Kochi Tuskers Kerala, RCB, Rajasthan Royals, Chennai Super Kings