Put the ginger and garlic into the container of a food processor or electric blender along with 3 tablespoons of water. Blend until you have a fine puree.
Put the diced potatoes in a bowl. Sprinkle about 1/4 teaspoon salt and 1/8 teaspoon turmeric over them. Toss to mix and set aside.
Heat the oil in a heavy, wide pan over medium flame. When hot, put in the potatoes, and stir and fry until they are lightly browned on all sides. Remove potato pieces with a slotted spoon and set aside. Put whole cumin seeds and cardamom pods into the same pot. Stir for 3-4 seconds. Now, put in the tomatoes, the puree, and the ground cumin and coriander. Stir and fry until the paste becomes thick and the oil separates from it. Add the rest of the turmeric and the cayenne. Stir once or twice. Put in the rest of the water, the potatoes, mushrooms and salt, stir to mix, and bring to a simmer. Cover, turn heat to low, and simmer for 5 minutes. Remove the cover and turn heat up slightly. Cook, stirring gently, until you have a thick sauce. Sprinkle in the garam masala, stir, and taste for salt. Serve garnished with the coriander. Don't eat the whole cardamom pods.